ChangeLog 38 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069
  1. 2009-07-24 Veerapuram Varadhan <[email protected]>
  2. * DbCommandBuilder.cs (CreateDeleteCommand, CreateUpdateCommand): Add the
  3. nullcheck-param into the respective command's parameter list. Fixes
  4. build breaks. Individual provider's CommandBuilder classes from 2.0
  5. profile onwards use the base version of methods to maintain these commands.
  6. (Get*Command): Cleanup code duplication
  7. * DbDataAdapter (Update): Use SourceColumnNullMapping property to handle
  8. nullcheckparams. Fixes #522624. Patch by
  9. Gert Driesen <[email protected]>.
  10. 2009-07-15 Veerapuram Varadhan <[email protected]>
  11. ** Part of fix for #325464
  12. * DbParameter.cs (FrameworkDbType, DbTypeMapping, SystemType): New internal properties
  13. required to convert between DbType/FrameworkType/SystemType.
  14. 2009-05-10 Marek Habersack <[email protected]>
  15. * DbConnection.cs: implemented the DbProviderFactory property
  16. 2009-03-31 Veerapuram Varadhan <[email protected]>
  17. * Fixes rest of #480377
  18. * DataContainer.cs (GetContainerData, GetExplicitValue): Added to handle cases
  19. where passed type overloads an explicit operator for conversion of values.
  20. 2009-01-03 Gert Driesen <[email protected]>
  21. * DbCommandBuilder.cs (QuoteIdentifier): Throw NotSupportedException.
  22. * DbDataAdapter.cs (Update): Add row causing concurrency violation
  23. to DBConcurrencyException.
  24. 2008-12-30 Raja R Harinath <[email protected]>
  25. Mildly rewrite duplicate-inferring logic.
  26. * Index.cs (IndexDuplicateState): Remove.
  27. (_hasDuplicates): Remove. Replace by ...
  28. (know_have_duplicates, know_no_duplicates): ... these.
  29. 2008-12-30 Gert Driesen <[email protected]>
  30. * DbCommandBuilder.cs: When CatalogSeparator or SchemaSeparator are
  31. not set (or explicitly set to null or empty string), then return
  32. default separator character. Added value check for CatalogLocation and
  33. ConflictOption. Removed regions.
  34. 2008-12-30 Gert Driesen <[email protected]>
  35. * DbCommandBuilder.cs: Fixed default value for ConflicOption.
  36. 2008-12-30 Gert Driesen <[email protected]>
  37. * DbCommandBuilder.cs: Return a zero-length string when QuotePrefix or
  38. QuoteSuffix are not set (or are set to null). Changing QuotePrefix or
  39. QuoteSuffix after a command has been generated should result in an
  40. InvalidOperationException.
  41. * DbConnectionStringBuilder.cs: Added support for ODBC rules. Major
  42. rewrite fixing many compatibility issues, and improving support for
  43. connectionstring formats/characters.
  44. 2008-11-25 Atsushi Enomoto <[email protected]>
  45. * DbDataRecord.cs : it is abstract, so create different impl. class.
  46. * DbEnumerator.cs : use above.
  47. 2008-11-17 Raja R Harinath <[email protected]>
  48. Avoid allocating empty arrays.
  49. * Index.cs (empty): New empty array constant.
  50. (Reset): Initialize '_array' to 'empty'.
  51. (RebuildIndex): Don't allocate array if it will be empty.
  52. (FindAllIndexes): Use 'empty' instead of 'new int [0]'.
  53. 2008-11-17 Raja R Harinath <[email protected]>
  54. * Index.cs: Remove use of Array and Size properties by taking
  55. advantage of the invariant that _array is never null.
  56. (EnsureArray): Remove.
  57. (Array): Remove.
  58. 2008-11-17 Raja R Harinath <[email protected]>
  59. * RecordCache.cs: Reduce some extraneous nesting.
  60. 2008-10-07 Daniel Morgan <[email protected]>
  61. * DbConnectionStringBuilder.cs: fix setting and getting
  62. the ConnectionString property
  63. 2008-09-16 Veerapuram Varadhan <[email protected]>
  64. ** Fixes#421336 - Patch provided by <[email protected]>
  65. DbCommandBuilder.cs: Several scenarios leading to exceptions when
  66. creating the update, insert and delete commands:
  67. 1. The "IsExpression" column in the column schema table can also
  68. be DBNull which is equivalent to "false" but the DBCommandBuilder
  69. does not check for DBNull and simply tries to cast it into a bool,
  70. which will fail.
  71. 2. The commands do not get refreshed after a call to
  72. UpdateSchema() because they are not set to NULL. This has the
  73. consequence that empty commands(created with CreateNewCommand())
  74. are returned afterwards.
  75. 3. Multiple parameters with the same name are generated if the
  76. parameter names should be named after the columns.
  77. 2008-09-05 Raja R Harinath <[email protected]>
  78. * DataContainer.cs (*.ZeroOut): Rename from the somewhat unclear
  79. 'SetDefaultValue'.
  80. (IsNull): Use a more idiomatic form of the short-circuit.
  81. (*.SetValue): Convert to one-liners.
  82. 2008-08-08 Raja R Harinath <[email protected]>
  83. Reduce massive code duplication
  84. * DataContainer.cs (DataContainer): Rename from AbstractDataContainer.
  85. Introduce new 'protected abstract' members to encapsulate
  86. type-specific handling, and move all common code here.
  87. (DataContainer.Create): Rename from CreateInstance.
  88. 2008-07-06 Sebastien Pouliot <[email protected]>
  89. * DbDataReader.cs: Replace a few Type.GetType by typeof
  90. [Found using Gendarme AvoidTypeGetTypeForConstantStringsRule]
  91. 2008-07-03 Marek Habersack <[email protected]>
  92. * DataAdapter.cs (BuildSchema): Check for null.
  93. 2008-07-01 Rodrigo Kumpera <[email protected]>
  94. * RecordCache.cs: Kill some foreach loops.
  95. 2008-04-21 Gert Driesen <[email protected]>
  96. * DataColumnMappingCollection.cs: Modified argument names to match
  97. MS. Code formatting.
  98. * DataTableMappingCollection.cs: Modified argument names to match MS.
  99. Code formatting.
  100. 2008-03-23 Gert Driesen <[email protected]>
  101. * DbDataAdapter.cs: Corcompare fixes and code formatting.
  102. * DbDataRecord.cs: Corcompare fixes and code formatting.
  103. * DataColumnMappingCollection.cs: Corcompare fixes and code formatting.
  104. * RowUpdatedEventArgs.cs: Corcompare fixes and code formatting.
  105. * DbParameterCollection.cs: Corcompare fixes and code formatting.
  106. 2007-11-15 Atsushi Enomoto <[email protected]>
  107. * DbProviderFactoriesConfigurationHandler.cs : Create() now takes
  108. parent DataSet into consideration i.e. it now merges items in
  109. different configurations. Fixed bug #323708.
  110. 2007-10-21 Gert Driesen <[email protected]>
  111. * DbDataPermissionAttribute.cs: In KeyRestrictionBehavior, reuse
  112. ExceptionHelper.CheckEnumValue.
  113. * ExceptionHelper.cs: Use same exception message for both 1.0 and 2.0.
  114. * Index.cs: Fixed compiler warnings. Code formatting.
  115. 2007-10-20 Gert Driesen <[email protected]>
  116. * DbDataAdapter.cs: Implemented UpdateBatchSize setter.
  117. * DataAdapter.cs: In FillLoadOption setter, ensure value is valid.
  118. Modified MissingMappingAction and MissingSchemaAction setters to use
  119. ExceptionHelper.CheckEnumValue to validate value. Spaces to tabs and
  120. code formatting.
  121. * ExceptionHelper.cs: Added CheckEnumValue method and modified
  122. InvalidEnumValueException method to return AORE on 2.0 profile. Added
  123. ConnectionClosed method that returns an InvalidOperationException.
  124. 2007-10-19 Gert Driesen <[email protected]>
  125. * DbTransaction.cs: Do not perform a rollback in Dispose (bool).
  126. Leaves it up to deriving classes to override Dispose (bool) and
  127. perform a rollback if necessary. Fixes bug #325397. Code formatting.
  128. * ExceptionHelper.cs: Added TransactionNotUsable method that constructs
  129. an InvalidOperationException to be thrown by IDbTransaction
  130. implementations when the transaction is no longer open.
  131. 2007-09-27 Nagappan A <[email protected]>
  132. * DbDataAdapter.cs: Added MonoTODO in appropriate place.
  133. * DbCommandBuilder.cs (initializeCommand): Implemented missing API.
  134. 2007-09-25 Nagappan A <[email protected]>
  135. * DbConnection.cs: 2.0 attribute fixes.
  136. * DataColumnMapping.cs: 2.0 attribute fixes.
  137. * DbParameterCollection.cs: Code alignment.
  138. * DataAdapter.cs: 2.0 attribute fixes.
  139. * DataTableMapping.cs: 2.0 attribute fixes.
  140. * RowUpdatingEventArgs.cs (BaseCommand): Code alignment.
  141. 2007-09-24 Konstantin Triger <[email protected]>
  142. * DbEnumerator.cs, DbDataRecord.cs: refactoring.
  143. * DbDataRecord.cs: GetValue() should return null instead of DBNull.
  144. 2007-08-10 Nagappan A <[email protected]>
  145. * DbDataAdapter.cs (Fill): Fixed method signature.
  146. 2007-07-26 Nagappan A <[email protected]>
  147. * DbConnection.cs: Removed bogus TODO.
  148. 2007-07-22 Nagappan A <[email protected]>
  149. * DbConnection.cs: 2.0 missing features.
  150. * DbDataAdapter.cs: 2.0 missing features.
  151. 2007-06-30 Gert Driesen <[email protected]>
  152. * DbDataAdapter.cs: Marked ICloneable.Clone obsolete to match MS.
  153. 2007-06-21 Nagappan A <[email protected]>
  154. * DbConnectionStringBuilder.cs (Init): Modified the dictionary to
  155. use StringComparer.InvariantCultureIgnoreCase.
  156. (Add, ContainsKey): Checks whether argument is null or empty string.
  157. 2007-05-08 Adar Wesley <[email protected]>
  158. * DbProviderFactory.cs: minor refactoring for throwing exceptions
  159. 2007-04-30 Marek Habersack <[email protected]>
  160. * DbProviderFactories.cs: throw the same exception MS.NET does.
  161. 2007-03-03 Gert Driesen <[email protected]>
  162. * DbProviderFactoriesConfigurationHandler.cs: Added support for
  163. clear node.
  164. 2007-03-03 Gert driesen <[email protected]>
  165. * ConnectionStringsSectionHandler.cs: Removed since the 2.0 config
  166. API is in place.
  167. * DbProviderFactoriesConfigurationHandler.cs: Fixed name of DataSet
  168. to match MS. Removed SupportedClasses column since this is no longer
  169. part of 2.0 profile (removed during beta). Throw
  170. ConfigurationErrorsException for unrecognized elements. Mark methods
  171. private, and refactor them. Added FIXMEs for missing checks for
  172. unrecognized attributes.
  173. * DbProviderFactories.cs: Marked constants internal. Replaced spaces
  174. with tabs. Use ConfigurationManager.GetSection instead of deprecated
  175. ConfigurationSettings.GetConfig.
  176. 2007-02-26 Atsushi Enomoto <[email protected]>
  177. * DbProviderFactoriesConfigurationHandler.cs : there was a config
  178. test that used to be broken.
  179. 2007-02-26 Atsushi Enomoto <[email protected]>
  180. * DbProviderFactoriesConfigurationHandler.cs : remove "support"
  181. attribute check, as it does not really do anything.
  182. 2007-02-19 Atsushi Enomoto <[email protected]>
  183. * DbProviderFactoriesConfigurationHandler.cs : "support" attribute is
  184. optional. Fixed bug #80894.
  185. 2007-02-09 Nagappan A <[email protected]>
  186. * DbProviderFactory.cs: Derived class has to implement all the
  187. methods of this class.
  188. * DbProviderFactoriesConfigurationHandler.cs (Create): Removed
  189. bogus MonoTODO
  190. 2007-01-08 Nagappan A <[email protected]>
  191. * DataTableMappingCollection.cs (AddRange): Implemented missing
  192. NET 2.0 API.
  193. * DbConnection.cs (GetSchema): Implemented missing NET 2.0 API,
  194. based on SqlClient implementation.
  195. * DbConnectionStringBuilder.cs (AppendKeyValuePair): Implemented
  196. missing API.
  197. * DbDataReader.cs (GetData): Implemented missing API.
  198. (GetDbDataReader): Implemented missing API.
  199. * DbCommandBuilder.cs (BuildCache, BuildInformation)
  200. (IncludedInInsert, IncludedInUpdate, IncludedInWhereClause)
  201. (CreateDeleteCommand, CreateInsertCommand, CreateNewCommand)
  202. (CreateUpdateCommand, CreateParameter): Added private methods.
  203. (QuotedTableName, GetQuotedString, CatalogLocation)
  204. (CatalogSeparator, ConflictOption, DataAdapter, QuotePrefix)
  205. (QuoteSuffix, SchemaSeparator): Implemented public properties.
  206. (SourceCommand): Implemented private property.
  207. (Dispose, RowUpdatingHandler): Implemented protected methods.
  208. (GetDeleteCommand, GetInsertCommand, GetUpdateCommand)
  209. (QuoteIdentifier, UnquoteIdentifier, RefreshSchema): Implemented
  210. public methods.
  211. * DbProviderFactory.cs: Removed MonoTODO's as the derived class
  212. has to implement all the methods in this class.
  213. * DataAdapter.cs (Fill): Implemented missing method.
  214. * DbDataAdapter.cs (FillCommandBehavior): Implemented property.
  215. 2006-12-20 Nagappan A <[email protected]>
  216. * DataColumnMapping.cs (GetDataColumnBySchemaAction): Implemented
  217. 2.0 profile method.
  218. * DbDataReader.cs: Removed TODO's where ever the implementation is
  219. available.
  220. * RowUpdatedEventArgs.cs: Removed TODO's where ever the
  221. implementation is available.
  222. * DataAdapter.cs (FillInternal): Moved from DbDataAdapater.cs to
  223. here.
  224. (BuildSchema): Moved from DbDataAdapter.cs.
  225. (FillTable): Moved from DbDataAdapter.cs.
  226. (OnFillErrorInternal): Implemented new internal method to raise an
  227. event.
  228. (SetupSchema): Moved from DbDataAdapter.cs.
  229. (FillInterl): Moved common implementation from DbDataAdapter.cs.
  230. Removed TODO's where ever the implementation is available.
  231. * DbDataAdapter.cs (OnRowUpdated): Implemented protected method.
  232. (OnRowUpdating): Implemented protected method.
  233. (CreateFillErrorEvent): Moved to DataAdapter.cs.
  234. (Fill): Moved common implementation to DataAdapter.cs.
  235. (FillTable): Moved to DataAdapter.cs.
  236. (BuildSchema): Moved to DataAdapter.cs.
  237. (SetupSchema): Moved to DataAdapter.cs.
  238. 2006-12-11 Miguel de Icaza <[email protected]>
  239. * DataAdapter.cs: Removed TODO, NotSupportedException was the
  240. correct implementation.
  241. 2006-11-28 Nagappan A <[email protected]>
  242. * DbDataAdapter.cs: Removed bogus MonoTODOs
  243. * DataAdapter.cs: Removed bogus MonoTODOs
  244. 2006-11-15 Nagappan A <[email protected]>
  245. * DbDataAdapter.cs (FillFromReader): Implemented missing API to
  246. handle FillErrorEventHandler
  247. (DataAdapter): Implemented missing .NET 2.0 function
  248. (GetDeleteCommand): Returns DbDataAdapter deleteCommand internal
  249. variable.
  250. (GetInsertCommand): Returns DbDataAdapter insertCommand internal
  251. variable.
  252. (GetUpdateCommand): Returns DbDataAdapter updateCommand internal
  253. variable.
  254. 2006-09-06 Konstantin Triger <[email protected]>
  255. * DbDataAdapter.cs: added basic implementation for some 2.0 features.
  256. 2006-08-24 Vladimir Krasnov <[email protected]>
  257. * DbProviderFactories.cs: added TARGET_JVM block to not supported
  258. functionality
  259. 2006-08-06 Konstantin Triger <[email protected]>
  260. * DbDataReader.cs: DbDataReader.Dipose(bool) - implemented.
  261. 2006-07-17 Senganal T <[email protected]>
  262. * Index.cs :
  263. - GetAllRows : Added. Returns all the rows in the current
  264. index.
  265. - GetDistinctRows :Added. Returns all the distinct rows (based
  266. in Key Columns) in the index.
  267. 2006-07-13 Senganal T <[email protected]>
  268. * SchemaInfo.cs DbDataAdapter.cs DbConnectionOptions.cs DbParameter.cs
  269. DbMetaDataColumnNames.cs DbTransaction.cs DataTableMapping.cs DataAdapter.cs
  270. FieldNameLookup.cs DbDataRecord.cs DataColumnMappingCollection.cs DbCommand.cs
  271. DbDataPermission.cs DbProviderFactory.cs DbCommandBuilder.cs DbConnectionString.cs
  272. RowUpdatedEventArgs.cs DbDataReader.cs DbConnectionStringBuilder.cs DbConnection.cs
  273. DataTableMappingCollection.cs :
  274. 2.0 Api fixes
  275. 2006-06-15 Senganal T <[email protected]>
  276. * Key.cs :
  277. -Equals : Check for Equality of Sort Order too.
  278. 2006-04-07 Senganal T <[email protected]>
  279. * DbDataAdapter.cs :
  280. * Update () : If the Update/Delete Query has a null check,
  281. then populate the parameter value correctly.
  282. 2006-03-20 Senganal T <[email protected]>
  283. * DataAdapter.cs :
  284. - Ctor () : Set Default Values for DataAdapter members
  285. * DbDataAdapter.cs :
  286. - Update () : Call row.AcceptChanges only if AcceptChangesDuringUpdate
  287. is true. Fixes bug #77776
  288. 2006-03-09 Senganal T <[email protected]>
  289. * Index.cs :
  290. - Update () : Add the new record in the correct position
  291. 2006-03-07 Senganal T <[email protected]>
  292. * Key.cs :
  293. Reverted the changes from the earlier patch.
  294. 2006-02-22 Senganal T <[email protected]>
  295. * DbDataAdapter.cs :
  296. - FillTable : Move BeginLoadData, EndLoadData outside the loop. Also,
  297. move EndLoadData outsidet try,catch block. FillError is only for errors
  298. occuring during loading the data into datatable.
  299. * Key.cs :
  300. - Set Default value of RowStateFilter to (CurrentRos | OriginalRows).
  301. - ContainsVersion : If RowStateFilter is set to default value, return true
  302. for Modified Rows as they can contain Default/Original versions.
  303. 2006-02-18 Raja R Harinath <[email protected]>
  304. * DbConnectionStringBuilder.cs (ICollection.CopyTo): Use
  305. _dictionary, not 'this' in cast.
  306. 2006-02-17 Chris Toshok <[email protected]>
  307. * DbDataAdapter.cs: more 2.0 cleanup.
  308. 2006-02-17 Chris Toshok <[email protected]>
  309. * DataAdapter.cs, DataColumnMappingCollection.cs,
  310. DataColumnMapping.cs, DataTableMappingCollection.cs,
  311. DataTableMapping.cs, DbCommandBuilder.cs,
  312. DbConnectionStringBuilder.cs, DbParameterCollection.cs,
  313. DbParameter.cs: pretty major attribute work.
  314. 2006-02-17 Chris Toshok <[email protected]>
  315. * DbProviderFactory.cs: remove two methods. and mark the
  316. DbProviderSupportedClasses ctor as internal since it's not part of
  317. the public api.
  318. * DbTable.cs: remove this class from 2.0 build.. leave it for the
  319. JVM build, I guess?
  320. * RowUpdatingEventArgs.cs: this class isn't abstract in 2.0.
  321. * RowUpdatedEventArgs.cs: this class isn't abstract in 2.0.
  322. * SupportedJoinOperators.cs: new 2.0 enum.
  323. * CatalogLocation.cs: fix enum values.
  324. * GroupByBehavior.cs: same.
  325. * IdentifierCase.cs: same.
  326. * SchemaTableColumn.cs: class is static, not sealed. and add
  327. missing elements.
  328. * SchemaTableOptionalColumn.cs: same.
  329. * DbDataReader.cs: oops, add back in VisibleFieldCount (i missed
  330. it in the corcompare output), add EditorBrowsable attributes all
  331. over the place, and fix some method signatures.
  332. * DbDataUpdatableRecord.cs: remove this 2.0 file.
  333. 2006-02-17 Chris Toshok <[email protected]>
  334. * DbDataReader.cs: remove VisibleFieldCount attribute, and remove
  335. IDataReader2 and IDataRecord2 interfaces.
  336. 2006-02-13 Senganal T <[email protected]>
  337. * DbDataAdapter.cs :
  338. - FillSchema :
  339. - Add table to schema only if MissingSchemaAction is not Ignore
  340. Add schema to table if MissingSchemaAction is set to either of
  341. Add or AddWithKey
  342. - BuildSchema :
  343. - Set the Schema values only if MissingSchemaAction is set to
  344. AddWithKey
  345. 2006-01-31 Senganal T <[email protected]>
  346. * DbDataAdapter.cs :
  347. - Corrected an error in the prev checkin.. Fixes #77415
  348. 2006-01-27 Senganal T <[email protected]>
  349. * DbDataAdapter.cs :
  350. - Modified schema population to follow MissingSchemaAction and MissingMappingAction
  351. - Add a column to the Primary Key only if its not a hidden key
  352. - Added some argument checks
  353. - Removed some redundant code
  354. * DataAdapter :
  355. - Added argument checks
  356. * ExceptionHelper :
  357. - Added InvalidEnumException , a helper function to print error msg
  358. 2006-01-11 Boris Kirzner <[email protected]>
  359. * Index.cs: removed redundant call to RebuildIndex() in constructor.
  360. 2005-12-12 Konstantin Triger <[email protected]>
  361. * Key.cs: Added ContainsVersion function, refactoring.
  362. * Index.cs: Fixed Reset() to be ready for Update() calls.
  363. Otherwise the index can be rebuilt with new values inside the
  364. Update() call itself.
  365. Fixed FindIndexExact(), Update(), Delete().
  366. 2005-11-22 Konstantin Triger <[email protected]>
  367. * DbProviderFactory.cs: TARGET_JVM ifdef.
  368. 2005-11-21 Senganal T <[email protected]>
  369. * DbDataAdapter.cs
  370. * DbParameter.cs
  371. * DbTransaction.cs
  372. * DbTable.cs
  373. * DbProviderFactories.cs
  374. * DbException.cs
  375. * DbProviderFactory.cs
  376. * DbCommandBuilder.cs
  377. * DbDataReader.cs
  378. * DbParameterCollection.cs
  379. - Added stubs and other changes for ADO.NET 2.0 compatibility.
  380. * DbMetaDataCollectionNames.cs (new file)
  381. - Added DbMetaDataCollectionNames Enumeration
  382. 2005-10-24 Konstantin Triger <[email protected]>
  383. * DataContainer.cs: removed extra type validation for object container
  384. 2005-10-14 Senganal T <[email protected]>
  385. * DbDataAdapter.cs :
  386. - BuildSchema() : Set the value of DataColumn Property 'AllowDBNull'
  387. as returned by database. Fixes bug#76433.
  388. 2005-09-21 Boris Kirzner <[email protected]>
  389. * Index.cs:
  390. - Rebuild index immediately after construction.
  391. - Do not add records if they do not padd key filtration.
  392. - Do not attempt to remove records if the are not in the index.
  393. * Key.cs:
  394. - Added HasFilter property, CanContain and DependsOn methods.
  395. - Equals() uses filter expression comparison.
  396. 2005-09-07 Boris Kirzner <[email protected]>
  397. * DataContainer.cs: Do not convert value if container type
  398. is System.Object.
  399. 2005-08-08 Gert Driesen <[email protected]>
  400. * DbTypes.cs: Marked internal to fix public API.
  401. 2005-08-05 Sureshkumar T <[email protected]>
  402. * DbDataAdapter.cs:
  403. - Update (): set parameter values only after getting the
  404. appropriate command from command builder. Close reader only if it
  405. is not closed before. Use parameter's SourceVersion. Whitespace
  406. corrections to comply with standard.
  407. 2005-07-22 Sureshkumar T <[email protected]>
  408. * DataColumnMappingCollection.cs: updated attributes & attribute
  409. descriptions to match with masterinfos.
  410. 2005-07-15 Sureshkumar T <[email protected]>
  411. * DataTableMappingCollection.cs: GetTableMappingBySchemaAction:
  412. meaningful error message if mapping is missing.
  413. * DbDataAdapter.cs: Update: meaningful message if table is missing.
  414. 2005-06-22 Sureshkumar T <[email protected]>
  415. * Index.cs: Remove : length for Array.Copy (a, i+1, a, i, length -
  416. (i+1)) corrected.
  417. 2005-06-21 Sureshkumar T <[email protected]>
  418. * DbConnectionStringBuilder.cs: Implemented method for parsing
  419. connection string through "ConnectionString" property.
  420. * DbConnectionStringBuilderHelper.cs: Helper class to provide
  421. conversion between string=>.net type mapping for connection string
  422. builders. The idea is to use between other providers (odbc) as
  423. well.
  424. 2005-05-29 Boris Kirzner <[email protected]>
  425. * DbCommand.cs - added #ifdef NET_2_0 on DbCommandOptionalFeatures (not used in TARGET_JVM).
  426. * ExceptionHelper.cs - removed java references. Exceptions created on formatted text messages. Code styling fixes.
  427. * DbParameterCollection.cs - implemented indexer properties.
  428. * DbDataAdapter.cs - delagate exceptions creating to ExceptionHelper.
  429. 2005-05-25 Konstantin Triger <[email protected]>
  430. * DataContainer.cs: Correcting the order - first the record is queried whether the value it contains is null, and only if not the value is fetched
  431. 2005-05-20 Umadevi S <[email protected]>
  432. * Added file DbProviderSpecificTypePropertyAttribute.cs
  433. 2005-05-19 Umadevi S <[email protected]>
  434. * RowUpdatingEventArgs.cs - added BaseCommand property for net 2.0
  435. 2005-05-18 Konstantin Triger <[email protected]>
  436. * DbDataAdapter.cs: Initialize the schema values to defaults if the schema does not contain the information
  437. 2005-05-16 Sureshkumar T <[email protected]>
  438. * RecordCache.cs: quick fix to make build 2.0 profile (follow up
  439. for check in 2005-05-16).
  440. 2005-05-16 Konstantin Triger <[email protected]>
  441. * Index.cs: validation that the updated row belongs to the index
  442. 2005-05-02 Konstantin Triger <[email protected]>
  443. * DataContainer.cs:
  444. Added CharDataContainer, SByteDataContainer, UInt16DataContainer, UInt32DataContainer, UInt64DataContainer, DateTimeDataContainer, DecimalDataContainer
  445. SetItemFromDataRecord: Changed to work with ISafeDataRecord or through GetValue to enable conversion
  446. return DBNull.Value when the stored value is null
  447. * DbDataAdapter.cs:
  448. Ensure correct order for LoadDataRow
  449. Fixing schema creation
  450. Use NewRowArray API
  451. * DbEnumerator.cs:
  452. LoadSchema: Retrieve needed fields only
  453. * RecordCache.cs:
  454. Added Rows-to-Records mapping
  455. Added ReadIDataRecord method for correct handling of default/auto increment values
  456. * Added Index.cs: Index implementation
  457. * Added Key.cs: Index descriptor implementation
  458. 2005-04-27 Sureshkumar T <[email protected]>
  459. * DbDataReader.cs: Added static method to construct the schema
  460. table with default schema. Could be reused in many places.
  461. 2005-04-22 Sureshkumar T <[email protected]>
  462. * DbDataAdapter.cs: Moved FillTable and BuildSchema as static
  463. methods as they are not operating on the current instance. This
  464. could be reused to fill any table from a data reader.
  465. * RecordCache.cs: While disposing records, make sure that the
  466. record is not already disposed. i.e. to make sure later the same
  467. record is not reused. Implemented a static method to compare two
  468. version of records in a container.
  469. 2005-04-18 Sureshkumar T <[email protected]>
  470. * DataAdapter.cs: Implemenetd OnFillError handler.
  471. * DbDataAdapter.cs: BuildSchema (): the table to be filled might
  472. contain few additional columns as well. so mapping length should
  473. be columns' length + fields' length.
  474. 2005-03-24 Sureshkumar T <[email protected]>
  475. * DbDataAdapter.cs: Update: If SourceColumn is null, do not set
  476. value for the parameter.
  477. 2005-05-25 Umadevi S <[email protected]>
  478. * Added DbException.cs
  479. 2005-03-23 Sureshkumar T <[email protected]>
  480. * DbDataAdapter.cs: For Update, disable ReadOnly constraint
  481. temporarily before updating the row. Info from Ingo Bauersachs.
  482. SkipAllRemainingRows should also skip current row (msdn).
  483. 2005-03-22 Sureshkumar T <[email protected]>
  484. * DbDataAdapter.cs: Update (): update the rows based on the
  485. UpdateRowSource property. Process further based on the
  486. RowUpdatedEvent handler argument's Status property.
  487. Fixes bug #73587. Thanks to [email protected] (Ingo Bauersachs) for
  488. bug report and patch.
  489. * RowUpdatedEventArgs.cs: if custom error is not set, throw a
  490. default error.
  491. 2005-03-01 Sureshkumar T <[email protected]>
  492. * ConnectionStringsSectionHandler.cs: Added. configuration section
  493. handler for section "connectionStrings". This handler is a ad hoc
  494. solution till the new configuration API is available in mono.
  495. 2005-02-04 Sureshkumar T <[email protected]>
  496. * DbDataAdapter.cs (Update ()) :
  497. - Check for one return result set and map the values back to
  498. datatable.
  499. - Check for output & return value parameters and update the value
  500. back to mapped column
  501. - check for recordsAffected only after closing the reader.
  502. 2005-02-02 Sureshkumar T <[email protected]>
  503. * DbConnection.cs: Implement Dispose pattern.
  504. 2005-01-25 Atsushi Enomoto <[email protected]>
  505. * DbDataPermission.cs : Empty.Union(Empty) is Empty.
  506. 2005-01-14 Atsushi Enomoto <[email protected]>
  507. * DbDataPermissionAttribute.cs, PermissionHelper.cs :
  508. fixed some incompatible type of exception between 2.0 and 1.x.
  509. * DataContainer.cs :
  510. Wrap exceptions thrown by SetValue() within ArgumentException.
  511. 2004-12-10 Sureshkumar T <[email protected]>
  512. * DbDataAdapter.cs (BuildSchema): Add the primary key schema iff
  513. MissingSchemaAction is set to AddWithKey. Also, Add auto increment
  514. value from the source table. fixes bug #67757 and #69110.
  515. 2004-11-24 Sureshkumar T <[email protected]>
  516. * DbProviderSupportedClasses.cs: Added correct enum values.
  517. * DbConnection.cs: Missing virtual method EnlistTransaction Added.
  518. * DbCommand.cs: Implemented ProviderFactory base factory methods.
  519. 2004-11-22 Sureshkumar T <[email protected]>
  520. * DbConnectionStringBuilder.cs: Class for helping creation of db
  521. connection strings added.
  522. 2004-10-01 Sureshkumar T <[email protected]>
  523. * DbProviderFactories.cs: Implemented all the stubs. Added functionality for
  524. getting available provider factories and creating a specified provider factory.
  525. * DbProviderFactoriesConfigurationHandler.cs: Added functionality for handling
  526. DbProviderFactories configuration section.
  527. * DbProviderFactory.cs: Added protected constructor. SupportedClasses property
  528. is made abstract.
  529. 2004-09-14 Sebastien Pouliot <[email protected]>
  530. * DbDataPermission.cs: Implemented Intersect, IsSubsetOf and Union.
  531. Implementation isn't complete as the restrictions seems to change the
  532. expected results (breaking some rules like x.IsSubsetOf (x) == false).
  533. Better (real-world) tests cases are required.
  534. * PermissionHelper.cs: Fixed small differences between System.Data.dll
  535. validations wrt to mscorlib.dll (XML and PermissionState).
  536. 2004-09-13 Sebastien Pouliot <[email protected]>
  537. * DbConnectionOptions.cs: New class for Fx 2.0. Partial implementation
  538. to support new methods in DBDataPermission.
  539. * DbConnectionString.cs: Updated class to split from/inherit
  540. DbConnectionOptions class.
  541. * DbDataPermission.cs: Implemented Add, Clear, Copy, ToXml methods and
  542. completed constructors.
  543. * DbDataPermissionAttribute.cs: Completed/fixed class.
  544. * PermissionHelper.cs: Helper methods to create permission classes.
  545. 2004-08-31 Francisco Figueiredo Jr. <[email protected]>
  546. * DbDataAdapter.cs: Fix for out of memory exceptions when trying to fill a dataset with a query which doesn't return a resultset like insert, delete or update.
  547. 2004-07-21 Umadevi S <[email protected]>
  548. * DbDataRecord.cs - Fix for bug 58163. Return DBNull instead of null
  549. 2004-07-07 Umadevi S <[email protected]>
  550. * DataContainer.cs :CheckedforNull before calling the relavant setmethods in each of the
  551. SetItemForDataRecord method for the DateTimeClass
  552. 2004-06-24 Atsushi Enomoto <[email protected]>
  553. * DataColumnMappingCollection.cs : fixed typo.
  554. * DbDataAdapter.cs : column mappings were not filled.
  555. 2004-06-24 Atsushi Enomoto <[email protected]>
  556. * DataTableMapping.cs : Clone() should also clone ColumnMappings.
  557. 2004-06-18 Umadevi S <[email protected]>
  558. * DataContainer.cs - CheckedforNull before calling the relavant setmethods in each of the
  559. SetItemForDataRecord method for all the classes.
  560. 2004-06-17 Boris Kirzner <[email protected]>
  561. * RecordCache.cs : Added CopyRecord mathod that copies single record from one table to another.
  562. 2004-06-17 Boris Kirzner <[email protected]>
  563. * Datacontainer.cs :
  564. - Store and retreival of null and DBNull values reviewed.
  565. - Added GetInt64 to support AutoIncrement of DataColumn.
  566. - Added missing CopyValue method to BitDataContainer.
  567. - Added FillValues method to propagate single value to whole container.
  568. 2004-06-10 Umadevi S <[email protected]>
  569. * DataTableMappingCollection.cs - fixed nunit testcase errors
  570. IndexOfDataSetTable method
  571. 2004-06-09 Umadevi S <[email protected]>
  572. * DataTableMappingCollection.cs - fixed nunit testcase errors
  573. - Add, GetByDataSetTable,Insert, Remove, RemoveAt methods.
  574. 2004-06-09 Umadevi S <[email protected]>
  575. * DataColumnMappingCollection.cs - fixed nunit testcase errors
  576. - GetByDataSetColumn,IndexOfDataSetColumn, Remove methods.
  577. 2004-06-08 Umadevi S <[email protected]>
  578. * DataColumnMappingCollection.cs - fixed nunit testcase errors.
  579. - remove, removeat, contains methods.
  580. 2004-06-04 Gert Driesen <[email protected]>
  581. * DataAdapter.cs: added missing protected ctor
  582. * DbDataAdapter.cs: added stub for missing protected ctor
  583. * DbDataPermission.cs: added stubs for missing protected
  584. ctors, added stub for missing Clear method
  585. 2004-06-02 Gert Driesen <[email protected]>
  586. * DataColumnMappingCollection.cs: added missing attributes on
  587. indexers
  588. 2004-05-27 Boris Kirzner <[email protected]>
  589. * DataContainer.cs : Bug fixes in BitDataContainer.get_Item and StringDataContainer.SetValue .
  590. 2004-05-20 Gert Driesen ([email protected])
  591. * DbDataPermissionAttribute.cs: change AllowMultiple and
  592. Inherited to match .NET
  593. 2004-05-19 Boris Kirzner <[email protected]>
  594. * Datacontainer.cs : CompareValues reviewed. set_Item and get_Item of null and DBNull values in case of DataContainers
  595. for primitive types reviewed. Added check for null values when reading from IDataRecord.
  596. 2004-05-19 Boris Kirzner <[email protected]>
  597. * RecordCache.cs - added. Each instance of record cache belongs to specific table
  598. and manages pool of records ( indexes into data containers) to be used by data rows.
  599. * DataContainer.cs - added. Provides implementation for data containers that holds data in arrays
  600. of primitives or objects. Each data container belongs to specific DataColumn.
  601. * DbDataAdapter.cs - changes to complete data storage redesign. Bug fix in FillTable
  602. ( to fetch exact number of records required ).
  603. 2004-05-13 Umadevi S ([email protected])
  604. * DbDataPermissionAttribute.cs - Added KeyRestrictions property with a TODO tag
  605. 2004-05-09 Gert Driesen ([email protected])
  606. * ComparerFactory.cs: marked internal
  607. 2003-04-26 Boris Kirzner <[email protected]>
  608. * DataColumnMappingCollection.cs : Small fix in exception message thrown.
  609. 2003-04-25 Boris Kirzner <[email protected]>
  610. * DbDataAdapter.cs : Fixed bug in Fill :
  611. - Reader can have empty results (fo example from UPDATE or DELETE).
  612. - Reader can have results with no rows (SELECT that returns 0 rows but have columns)
  613. - In FillTable - skip rows only once for each table.
  614. 2003-04-14 Juraj Skripsky <[email protected]>
  615. * DbDataAdapter.cs : Refactoring of Fill. New private method
  616. FillTable does most of the work now. Use int[] instead of
  617. hashtable for mapping. Move creation of tableArray[] outside
  618. of loop.
  619. 2004-03-12 Andreas Nahr <[email protected]>
  620. * DbDataPermissionAttribute.cs: Added .Net 1.1 marks
  621. * DataColumnMapping.cs: DO NOT USE the consts scheme if types can be referenced directly!
  622. * DataTableMapping.cs: DO NOT USE the consts scheme if types can be referenced directly!
  623. * DataColumnMappingConverter: Added stub
  624. * DataTableMappingConverter: Added stub
  625. 2004-03-03 Eran Domb <[email protected]>
  626. * ComparerFactory.cs : Added.
  627. 2004-01-10 Atsushi Enomoto <[email protected]>
  628. * DbDataPermission.cs : tiny fix to pass OleDbPermission.
  629. 2004-01-09 Atsushi Enomoto <[email protected]>
  630. * DbDataPermission.cs : .ctor(PermissionState state) should not call
  631. obsolete .ctor(state, allowBlankPassword). csc reports an error.
  632. 2003-12-30 Gonzalo Paniagua Javier <[email protected]>
  633. * DbDataAdapter.cs: handle MissingShemaAction.AddWithKey, call
  634. AcceptChanges in Update when a CommandBuilder is used and
  635. correctly fill information about primary keys in FillSchema.
  636. Patch from Sergei Malinin ([email protected]).
  637. 2003-12-23 Tim Coleman <[email protected]>
  638. * DbConnectionString.cs:
  639. Some implementation
  640. * DbProviderFactory.cs:
  641. Fix typo to make CLS compliant
  642. 2003-12-16 Jackson Harper <[email protected]>
  643. * SchemaTableOptionalColumn.cs: Add to fix default build
  644. 2003-12-16 Tim Coleman <[email protected]>
  645. * CatalogLocation.cs DbCommand.cs DbCommandBuilder.cs
  646. * DbCommandOptionalFeatures.cs DbCommandSet.cs DbConnection.cs
  647. * DbConnectionString.cs DbDataSourceEnumerator.cs
  648. * DbDataUpdatableRecord.cs DbParameter.cs DbParameterCollection.cs
  649. * DbProviderConfigurationHandler.cs DbProviderFactories.cs
  650. * DbProviderFactoriesConfigurationHandler.cs DbProviderFactory.cs
  651. * DbProviderSupportedClasses.cs DbTable.cs DbTransaction.cs
  652. * GroupByBehavior.cs IdentifierCase.cs SchemaLocation.cs
  653. * SchemaTableColumn.cs:
  654. New stubs added for .NET 1.2
  655. * DataAdapter.cs DataColumnMapping.cs DataColumnMappingCollection.cs
  656. * DataTableMapping.cs DataTableMappingCollection.cs DbDataAdapter.cs
  657. * DbDataPermission.cs DbDataPermissionAttribute.cs DbDataRecord.cs
  658. * FieldNameLookup.cs SchemaInfo.cs:
  659. Changes made for .NET 1.2
  660. 2003-10-22 Eran Domb <[email protected]>
  661. * DbDataAdapter.cs : Check if there is mapping to avoid exception.
  662. 2003-11-26 Tim Coleman <[email protected]>
  663. * DbDataReader.cs: Add new stub class
  664. 2003-11-23 Pedro Martínez Juliá <[email protected]>
  665. * DbDataAdapter.cs: Call command dispose in self dispose method. We
  666. need to dispose the connections and other stuff stored in the
  667. commands.
  668. 2003-11-10 Pedro Martínez Juliá <[email protected]>
  669. * DataColumnMappingCollection.cs: Fix a missing exception when the
  670. required mapping is not in the collection. MS.NET throws an
  671. exception there.
  672. 2003-10-22 Eran Domb <[email protected]>
  673. * DbDataAdapter.cs (Fill): add only the mapped column to the dataTable (not all columns of dataReader).
  674. Also closing the dataReader if an exception is thrown.
  675. (Fill): the same as above.
  676. (SetupSchema): in now return string (the table name).
  677. (GetFillParameters): fix a bug.
  678. (BuildSchema) - it now return Hashtable. Add columns to the table only if there is a mapping. Build an Hashtable that maps the columns from the table to the column from the reader.
  679. (Update): first open the connection if needed. Catch an exception of the ExecuteQuery.
  680. 2003-09-30 Duncan Mak <[email protected]>
  681. Patch from Eran Domb <[email protected]>.
  682. * DbDataAdapter.cs (Fill): Fixed an Exception from being thrown.
  683. 2003-09-25 Duncan Mak <[email protected]>
  684. * DbDataAdapter.cs (Fill): Patch from Eran Domb, <[email protected]>.
  685. Fixes a possible NullReferenceException, more details here:
  686. http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002116.html
  687. 2003-09-21 eran <[email protected]>
  688. * DbDataRecord.cs: The method
  689. System.Data.Common.DbDataRecord.GetValues(object[] values) did not
  690. put the values of the DbDataRecord into values parameter.
  691. 2003-08-26 Gonzalo Paniagua Javier <[email protected]>
  692. * DbDataAdapter.cs: provide a Type for ToArray to avoid invalid cast
  693. exception. Thanks to Mark Easton <[email protected]>.
  694. 2003-07-31 Duncan Mak <[email protected]>
  695. * DataAdapter.cs (CloneInternals): Mark with ObsoleteAttribute for
  696. NET_1_1.
  697. 2003-03-21 Alan Tam <[email protected]>
  698. * DbDataAdapter.cs: Update now uses correct DataRowVersion
  699. when accessing the data.
  700. 2003-03-17 Aleksey Demakov <[email protected]>
  701. * DbDataAdapter.cs: BuildSchema now uses ColumnName instead
  702. of BaseColumnName (bug #39830) for DataColumn names.
  703. BaseTableName is no longer taken into account as well.
  704. 2003-02-28 Aleksey Demakov <[email protected]>
  705. * DbDataAdapter.cs: Update (DataSet) updates the default
  706. table only.
  707. 2003-02-25 Alan Tam <[email protected]>
  708. * DbDataAdapter.cs: Added support for filling when schema is present.
  709. Fixed incorrect behavior when ColumnMapping is present
  710. when more than one fields have the same name. Implemented Dispose.
  711. Fixed error when there is no ColumnMapping at all.
  712. Still have some problems in finding the correct TableMapping
  713. because the SourceTable name is not present in BuildSchema
  714. 2003-02-24 Aleksey Demakov <[email protected]>
  715. * DbDataAdapter.cs: The original code might pass a null DataTableMapping
  716. value which is then used to create a RowUpdatingEventArgs
  717. instance. So RowUpdatingEvent handler (for instance
  718. CommandBuilder) could get null DataTableMapping which
  719. might be unexpected. The patch makes sure that a non-null
  720. DataTableMapping is passed.
  721. 2003-01-26 Gonzalo Paniagua Javier <[email protected]>
  722. * DbEnumerator.cs: why does the runtime throw an invalid cast here? The
  723. object is an Int16... Gotta fill a bug report and when fixed undo this
  724. patch.
  725. 2003-01-08 Gonzalo Paniagua Javier <[email protected]>
  726. * DbDataRecord.cs: return DbNull.Value in GetValue () if value is null.
  727. 2002-10-31 Daniel Morgan <[email protected]>
  728. * SchemaInfo.cs: added missing properties to fix mcs build
  729. 2002-05-05 Miguel de Icaza <[email protected]>
  730. * DataTableMapping.cs, DataTableMappingCollection.cs: comment out
  731. interfaces we do not implement yet.
  732. * DbDataAdapter.cs: Stub IEnumerable, comment out interfaces
  733. we do not implement yet.
  734. * DbDataPermissionAttribute.cs: call base constructor.