1 2009-07-15 Veerapuram Varadhan
3 ** Part of fix for #325464
4 * DbParameter.cs (FrameworkDbType, DbTypeMapping, SystemType): New internal properties
5 required to convert between DbType/FrameworkType/SystemType.
7 2009-05-10 Marek Habersack <mhabersack@novell.com>
9 * DbConnection.cs: implemented the DbProviderFactory property
11 2009-03-31 Veerapuram Varadhan <vvaradhan@novell.com>
13 * Fixes rest of #480377
14 * DataContainer.cs (GetContainerData, GetExplicitValue): Added to handle cases
15 where passed type overloads an explicit operator for conversion of values.
17 2009-01-03 Gert Driesen <drieseng@users.sourceforge.net>
19 * DbCommandBuilder.cs (QuoteIdentifier): Throw NotSupportedException.
20 * DbDataAdapter.cs (Update): Add row causing concurrency violation
21 to DBConcurrencyException.
23 2008-12-30 Raja R Harinath <harinath@hurrynot.org>
25 Mildly rewrite duplicate-inferring logic.
26 * Index.cs (IndexDuplicateState): Remove.
27 (_hasDuplicates): Remove. Replace by ...
28 (know_have_duplicates, know_no_duplicates): ... these.
30 2008-12-30 Gert Driesen <drieseng@users.sourceforge.net>
32 * DbCommandBuilder.cs: When CatalogSeparator or SchemaSeparator are
33 not set (or explicitly set to null or empty string), then return
34 default separator character. Added value check for CatalogLocation and
35 ConflictOption. Removed regions.
37 2008-12-30 Gert Driesen <drieseng@users.sourceforge.net>
39 * DbCommandBuilder.cs: Fixed default value for ConflicOption.
41 2008-12-30 Gert Driesen <drieseng@users.sourceforge.net>
43 * DbCommandBuilder.cs: Return a zero-length string when QuotePrefix or
44 QuoteSuffix are not set (or are set to null). Changing QuotePrefix or
45 QuoteSuffix after a command has been generated should result in an
46 InvalidOperationException.
47 * DbConnectionStringBuilder.cs: Added support for ODBC rules. Major
48 rewrite fixing many compatibility issues, and improving support for
49 connectionstring formats/characters.
51 2008-11-25 Atsushi Enomoto <atsushi@ximian.com>
53 * DbDataRecord.cs : it is abstract, so create different impl. class.
54 * DbEnumerator.cs : use above.
56 2008-11-17 Raja R Harinath <harinath@hurrynot.org>
58 Avoid allocating empty arrays.
59 * Index.cs (empty): New empty array constant.
60 (Reset): Initialize '_array' to 'empty'.
61 (RebuildIndex): Don't allocate array if it will be empty.
62 (FindAllIndexes): Use 'empty' instead of 'new int [0]'.
64 2008-11-17 Raja R Harinath <harinath@hurrynot.org>
66 * Index.cs: Remove use of Array and Size properties by taking
67 advantage of the invariant that _array is never null.
68 (EnsureArray): Remove.
71 2008-11-17 Raja R Harinath <harinath@hurrynot.org>
73 * RecordCache.cs: Reduce some extraneous nesting.
75 2008-10-07 Daniel Morgan <monodanmorg@yahoo.com>
77 * DbConnectionStringBuilder.cs: fix setting and getting
78 the ConnectionString property
80 2008-09-16 Veerapuram Varadhan <vvaradhan@novell.com>
82 ** Fixes#421336 - Patch provided by <christian_hoff@gmx.net>
83 DbCommandBuilder.cs: Several scenarios leading to exceptions when
84 creating the update, insert and delete commands:
86 1. The "IsExpression" column in the column schema table can also
87 be DBNull which is equivalent to "false" but the DBCommandBuilder
88 does not check for DBNull and simply tries to cast it into a bool,
91 2. The commands do not get refreshed after a call to
92 UpdateSchema() because they are not set to NULL. This has the
93 consequence that empty commands(created with CreateNewCommand())
94 are returned afterwards.
96 3. Multiple parameters with the same name are generated if the
97 parameter names should be named after the columns.
99 2008-09-05 Raja R Harinath <harinath@hurrynot.org>
101 * DataContainer.cs (*.ZeroOut): Rename from the somewhat unclear
103 (IsNull): Use a more idiomatic form of the short-circuit.
104 (*.SetValue): Convert to one-liners.
106 2008-08-08 Raja R Harinath <harinath@hurrynot.org>
108 Reduce massive code duplication
109 * DataContainer.cs (DataContainer): Rename from AbstractDataContainer.
110 Introduce new 'protected abstract' members to encapsulate
111 type-specific handling, and move all common code here.
112 (DataContainer.Create): Rename from CreateInstance.
114 2008-07-06 Sebastien Pouliot <sebastien@ximian.com>
116 * DbDataReader.cs: Replace a few Type.GetType by typeof
117 [Found using Gendarme AvoidTypeGetTypeForConstantStringsRule]
119 2008-07-03 Marek Habersack <mhabersack@novell.com>
121 * DataAdapter.cs (BuildSchema): Check for null.
123 2008-07-01 Rodrigo Kumpera <rkumpera@novell.com>
125 * RecordCache.cs: Kill some foreach loops.
127 2008-04-21 Gert Driesen <drieseng@users.sourceforge.net>
129 * DataColumnMappingCollection.cs: Modified argument names to match
131 * DataTableMappingCollection.cs: Modified argument names to match MS.
134 2008-03-23 Gert Driesen <drieseng@users.sourceforge.net>
136 * DbDataAdapter.cs: Corcompare fixes and code formatting.
137 * DbDataRecord.cs: Corcompare fixes and code formatting.
138 * DataColumnMappingCollection.cs: Corcompare fixes and code formatting.
139 * RowUpdatedEventArgs.cs: Corcompare fixes and code formatting.
140 * DbParameterCollection.cs: Corcompare fixes and code formatting.
142 2007-11-15 Atsushi Enomoto <atsushi@ximian.com>
144 * DbProviderFactoriesConfigurationHandler.cs : Create() now takes
145 parent DataSet into consideration i.e. it now merges items in
146 different configurations. Fixed bug #323708.
148 2007-10-21 Gert Driesen <drieseng@users.sourceforge.net>
150 * DbDataPermissionAttribute.cs: In KeyRestrictionBehavior, reuse
151 ExceptionHelper.CheckEnumValue.
152 * ExceptionHelper.cs: Use same exception message for both 1.0 and 2.0.
153 * Index.cs: Fixed compiler warnings. Code formatting.
155 2007-10-20 Gert Driesen <drieseng@users.sourceforge.net>
157 * DbDataAdapter.cs: Implemented UpdateBatchSize setter.
158 * DataAdapter.cs: In FillLoadOption setter, ensure value is valid.
159 Modified MissingMappingAction and MissingSchemaAction setters to use
160 ExceptionHelper.CheckEnumValue to validate value. Spaces to tabs and
162 * ExceptionHelper.cs: Added CheckEnumValue method and modified
163 InvalidEnumValueException method to return AORE on 2.0 profile. Added
164 ConnectionClosed method that returns an InvalidOperationException.
166 2007-10-19 Gert Driesen <drieseng@users.sourceforge.net>
168 * DbTransaction.cs: Do not perform a rollback in Dispose (bool).
169 Leaves it up to deriving classes to override Dispose (bool) and
170 perform a rollback if necessary. Fixes bug #325397. Code formatting.
171 * ExceptionHelper.cs: Added TransactionNotUsable method that constructs
172 an InvalidOperationException to be thrown by IDbTransaction
173 implementations when the transaction is no longer open.
175 2007-09-27 Nagappan A <anagappan@novell.com>
177 * DbDataAdapter.cs: Added MonoTODO in appropriate place.
179 * DbCommandBuilder.cs (initializeCommand): Implemented missing API.
181 2007-09-25 Nagappan A <anagappan@novell.com>
183 * DbConnection.cs: 2.0 attribute fixes.
185 * DataColumnMapping.cs: 2.0 attribute fixes.
187 * DbParameterCollection.cs: Code alignment.
189 * DataAdapter.cs: 2.0 attribute fixes.
191 * DataTableMapping.cs: 2.0 attribute fixes.
193 * RowUpdatingEventArgs.cs (BaseCommand): Code alignment.
195 2007-09-24 Konstantin Triger <kostat@mainsoft.com>
197 * DbEnumerator.cs, DbDataRecord.cs: refactoring.
198 * DbDataRecord.cs: GetValue() should return null instead of DBNull.
200 2007-08-10 Nagappan A <anagappan@novell.com>
202 * DbDataAdapter.cs (Fill): Fixed method signature.
204 2007-07-26 Nagappan A <anagappan@novell.com>
206 * DbConnection.cs: Removed bogus TODO.
208 2007-07-22 Nagappan A <anagappan@novell.com>
210 * DbConnection.cs: 2.0 missing features.
212 * DbDataAdapter.cs: 2.0 missing features.
214 2007-06-30 Gert Driesen <drieseng@users.sourceforge.net>
216 * DbDataAdapter.cs: Marked ICloneable.Clone obsolete to match MS.
218 2007-06-21 Nagappan A <anagappan@novell.com>
220 * DbConnectionStringBuilder.cs (Init): Modified the dictionary to
221 use StringComparer.InvariantCultureIgnoreCase.
222 (Add, ContainsKey): Checks whether argument is null or empty string.
224 2007-05-08 Adar Wesley <adarw@mainsoft.com>
226 * DbProviderFactory.cs: minor refactoring for throwing exceptions
228 2007-04-30 Marek Habersack <mhabersack@novell.com>
230 * DbProviderFactories.cs: throw the same exception MS.NET does.
232 2007-03-03 Gert Driesen <drieseng@users.sourceforge.net>
234 * DbProviderFactoriesConfigurationHandler.cs: Added support for
237 2007-03-03 Gert driesen <drieseng@users.sourceforge.net>
239 * ConnectionStringsSectionHandler.cs: Removed since the 2.0 config
241 * DbProviderFactoriesConfigurationHandler.cs: Fixed name of DataSet
242 to match MS. Removed SupportedClasses column since this is no longer
243 part of 2.0 profile (removed during beta). Throw
244 ConfigurationErrorsException for unrecognized elements. Mark methods
245 private, and refactor them. Added FIXMEs for missing checks for
246 unrecognized attributes.
247 * DbProviderFactories.cs: Marked constants internal. Replaced spaces
248 with tabs. Use ConfigurationManager.GetSection instead of deprecated
249 ConfigurationSettings.GetConfig.
251 2007-02-26 Atsushi Enomoto <atsushi@ximian.com>
253 * DbProviderFactoriesConfigurationHandler.cs : there was a config
254 test that used to be broken.
256 2007-02-26 Atsushi Enomoto <atsushi@ximian.com>
258 * DbProviderFactoriesConfigurationHandler.cs : remove "support"
259 attribute check, as it does not really do anything.
261 2007-02-19 Atsushi Enomoto <atsushi@ximian.com>
263 * DbProviderFactoriesConfigurationHandler.cs : "support" attribute is
264 optional. Fixed bug #80894.
266 2007-02-09 Nagappan A <anagappan@novell.com>
268 * DbProviderFactory.cs: Derived class has to implement all the
269 methods of this class.
271 * DbProviderFactoriesConfigurationHandler.cs (Create): Removed
274 2007-01-08 Nagappan A <anagappan@novell.com>
276 * DataTableMappingCollection.cs (AddRange): Implemented missing
279 * DbConnection.cs (GetSchema): Implemented missing NET 2.0 API,
280 based on SqlClient implementation.
282 * DbConnectionStringBuilder.cs (AppendKeyValuePair): Implemented
285 * DbDataReader.cs (GetData): Implemented missing API.
286 (GetDbDataReader): Implemented missing API.
288 * DbCommandBuilder.cs (BuildCache, BuildInformation)
289 (IncludedInInsert, IncludedInUpdate, IncludedInWhereClause)
290 (CreateDeleteCommand, CreateInsertCommand, CreateNewCommand)
291 (CreateUpdateCommand, CreateParameter): Added private methods.
292 (QuotedTableName, GetQuotedString, CatalogLocation)
293 (CatalogSeparator, ConflictOption, DataAdapter, QuotePrefix)
294 (QuoteSuffix, SchemaSeparator): Implemented public properties.
295 (SourceCommand): Implemented private property.
296 (Dispose, RowUpdatingHandler): Implemented protected methods.
297 (GetDeleteCommand, GetInsertCommand, GetUpdateCommand)
298 (QuoteIdentifier, UnquoteIdentifier, RefreshSchema): Implemented
301 * DbProviderFactory.cs: Removed MonoTODO's as the derived class
302 has to implement all the methods in this class.
304 * DataAdapter.cs (Fill): Implemented missing method.
306 * DbDataAdapter.cs (FillCommandBehavior): Implemented property.
308 2006-12-20 Nagappan A <anagappan@novell.com>
310 * DataColumnMapping.cs (GetDataColumnBySchemaAction): Implemented
313 * DbDataReader.cs: Removed TODO's where ever the implementation is
316 * RowUpdatedEventArgs.cs: Removed TODO's where ever the
317 implementation is available.
319 * DataAdapter.cs (FillInternal): Moved from DbDataAdapater.cs to
321 (BuildSchema): Moved from DbDataAdapter.cs.
322 (FillTable): Moved from DbDataAdapter.cs.
323 (OnFillErrorInternal): Implemented new internal method to raise an
325 (SetupSchema): Moved from DbDataAdapter.cs.
326 (FillInterl): Moved common implementation from DbDataAdapter.cs.
327 Removed TODO's where ever the implementation is available.
329 * DbDataAdapter.cs (OnRowUpdated): Implemented protected method.
330 (OnRowUpdating): Implemented protected method.
331 (CreateFillErrorEvent): Moved to DataAdapter.cs.
332 (Fill): Moved common implementation to DataAdapter.cs.
333 (FillTable): Moved to DataAdapter.cs.
334 (BuildSchema): Moved to DataAdapter.cs.
335 (SetupSchema): Moved to DataAdapter.cs.
337 2006-12-11 Miguel de Icaza <miguel@novell.com>
339 * DataAdapter.cs: Removed TODO, NotSupportedException was the
340 correct implementation.
342 2006-11-28 Nagappan A <anagappan@novell.com>
344 * DbDataAdapter.cs: Removed bogus MonoTODOs
346 * DataAdapter.cs: Removed bogus MonoTODOs
348 2006-11-15 Nagappan A <anagappan@novell.com>
350 * DbDataAdapter.cs (FillFromReader): Implemented missing API to
351 handle FillErrorEventHandler
352 (DataAdapter): Implemented missing .NET 2.0 function
353 (GetDeleteCommand): Returns DbDataAdapter deleteCommand internal
355 (GetInsertCommand): Returns DbDataAdapter insertCommand internal
357 (GetUpdateCommand): Returns DbDataAdapter updateCommand internal
360 2006-09-06 Konstantin Triger <kostat@mainsoft.com>
362 * DbDataAdapter.cs: added basic implementation for some 2.0 features.
364 2006-08-24 Vladimir Krasnov <vladimirk@mainsoft.com>
366 * DbProviderFactories.cs: added TARGET_JVM block to not supported
369 2006-08-06 Konstantin Triger <kostat@mainsoft.com>
371 * DbDataReader.cs: DbDataReader.Dipose(bool) - implemented.
373 2006-07-17 Senganal T <tsenganal@novell.com>
376 - GetAllRows : Added. Returns all the rows in the current
378 - GetDistinctRows :Added. Returns all the distinct rows (based
379 in Key Columns) in the index.
381 2006-07-13 Senganal T <tsenganal@novell.com>
383 * SchemaInfo.cs DbDataAdapter.cs DbConnectionOptions.cs DbParameter.cs
384 DbMetaDataColumnNames.cs DbTransaction.cs DataTableMapping.cs DataAdapter.cs
385 FieldNameLookup.cs DbDataRecord.cs DataColumnMappingCollection.cs DbCommand.cs
386 DbDataPermission.cs DbProviderFactory.cs DbCommandBuilder.cs DbConnectionString.cs
387 RowUpdatedEventArgs.cs DbDataReader.cs DbConnectionStringBuilder.cs DbConnection.cs
388 DataTableMappingCollection.cs :
391 2006-06-15 Senganal T <tsenganal@novell.com>
394 -Equals : Check for Equality of Sort Order too.
396 2006-04-07 Senganal T <tsenganal@novell.com>
399 * Update () : If the Update/Delete Query has a null check,
400 then populate the parameter value correctly.
402 2006-03-20 Senganal T <tsenganal@novell.com>
405 - Ctor () : Set Default Values for DataAdapter members
407 - Update () : Call row.AcceptChanges only if AcceptChangesDuringUpdate
408 is true. Fixes bug #77776
410 2006-03-09 Senganal T <tsenganal@novell.com>
413 - Update () : Add the new record in the correct position
415 2006-03-07 Senganal T <tsenganal@novell.com>
418 Reverted the changes from the earlier patch.
420 2006-02-22 Senganal T <tsenganal@novell.com>
423 - FillTable : Move BeginLoadData, EndLoadData outside the loop. Also,
424 move EndLoadData outsidet try,catch block. FillError is only for errors
425 occuring during loading the data into datatable.
427 - Set Default value of RowStateFilter to (CurrentRos | OriginalRows).
428 - ContainsVersion : If RowStateFilter is set to default value, return true
429 for Modified Rows as they can contain Default/Original versions.
431 2006-02-18 Raja R Harinath <harinath@gmail.com>
433 * DbConnectionStringBuilder.cs (ICollection.CopyTo): Use
434 _dictionary, not 'this' in cast.
436 2006-02-17 Chris Toshok <toshok@ximian.com>
438 * DbDataAdapter.cs: more 2.0 cleanup.
440 2006-02-17 Chris Toshok <toshok@ximian.com>
442 * DataAdapter.cs, DataColumnMappingCollection.cs,
443 DataColumnMapping.cs, DataTableMappingCollection.cs,
444 DataTableMapping.cs, DbCommandBuilder.cs,
445 DbConnectionStringBuilder.cs, DbParameterCollection.cs,
446 DbParameter.cs: pretty major attribute work.
448 2006-02-17 Chris Toshok <toshok@ximian.com>
450 * DbProviderFactory.cs: remove two methods. and mark the
451 DbProviderSupportedClasses ctor as internal since it's not part of
454 * DbTable.cs: remove this class from 2.0 build.. leave it for the
457 * RowUpdatingEventArgs.cs: this class isn't abstract in 2.0.
459 * RowUpdatedEventArgs.cs: this class isn't abstract in 2.0.
461 * SupportedJoinOperators.cs: new 2.0 enum.
463 * CatalogLocation.cs: fix enum values.
465 * GroupByBehavior.cs: same.
467 * IdentifierCase.cs: same.
469 * SchemaTableColumn.cs: class is static, not sealed. and add
472 * SchemaTableOptionalColumn.cs: same.
474 * DbDataReader.cs: oops, add back in VisibleFieldCount (i missed
475 it in the corcompare output), add EditorBrowsable attributes all
476 over the place, and fix some method signatures.
478 * DbDataUpdatableRecord.cs: remove this 2.0 file.
480 2006-02-17 Chris Toshok <toshok@ximian.com>
482 * DbDataReader.cs: remove VisibleFieldCount attribute, and remove
483 IDataReader2 and IDataRecord2 interfaces.
485 2006-02-13 Senganal T <tsenganal@novell.com>
489 - Add table to schema only if MissingSchemaAction is not Ignore
490 Add schema to table if MissingSchemaAction is set to either of
493 - Set the Schema values only if MissingSchemaAction is set to
496 2006-01-31 Senganal T <tsenganal@novell.com>
499 - Corrected an error in the prev checkin.. Fixes #77415
501 2006-01-27 Senganal T <tsenganal@novell.com>
504 - Modified schema population to follow MissingSchemaAction and MissingMappingAction
505 - Add a column to the Primary Key only if its not a hidden key
506 - Added some argument checks
507 - Removed some redundant code
509 - Added argument checks
511 - Added InvalidEnumException , a helper function to print error msg
513 2006-01-11 Boris Kirzner <borisk@mainsoft.com>
514 * Index.cs: removed redundant call to RebuildIndex() in constructor.
516 2005-12-12 Konstantin Triger <kostat@mainsoft.com>
518 * Key.cs: Added ContainsVersion function, refactoring.
519 * Index.cs: Fixed Reset() to be ready for Update() calls.
520 Otherwise the index can be rebuilt with new values inside the
521 Update() call itself.
522 Fixed FindIndexExact(), Update(), Delete().
524 2005-11-22 Konstantin Triger <kostat@mainsoft.com>
526 * DbProviderFactory.cs: TARGET_JVM ifdef.
528 2005-11-21 Senganal T <tsenganal@novell.com>
534 * DbProviderFactories.cs
536 * DbProviderFactory.cs
537 * DbCommandBuilder.cs
539 * DbParameterCollection.cs
540 - Added stubs and other changes for ADO.NET 2.0 compatibility.
541 * DbMetaDataCollectionNames.cs (new file)
542 - Added DbMetaDataCollectionNames Enumeration
544 2005-10-24 Konstantin Triger <kostat@mainsoft.com>
546 * DataContainer.cs: removed extra type validation for object container
548 2005-10-14 Senganal T <tsenganal@novell.com>
551 - BuildSchema() : Set the value of DataColumn Property 'AllowDBNull'
552 as returned by database. Fixes bug#76433.
554 2005-09-21 Boris Kirzner <borisk@mainsoft.com>
556 - Rebuild index immediately after construction.
557 - Do not add records if they do not padd key filtration.
558 - Do not attempt to remove records if the are not in the index.
560 - Added HasFilter property, CanContain and DependsOn methods.
561 - Equals() uses filter expression comparison.
563 2005-09-07 Boris Kirzner <borisk@mainsoft.com>
564 * DataContainer.cs: Do not convert value if container type
567 2005-08-08 Gert Driesen <drieseng@users.sourceforge.net>
569 * DbTypes.cs: Marked internal to fix public API.
571 2005-08-05 Sureshkumar T <tsureshkumar@novell.com>
574 - Update (): set parameter values only after getting the
575 appropriate command from command builder. Close reader only if it
576 is not closed before. Use parameter's SourceVersion. Whitespace
577 corrections to comply with standard.
579 2005-07-22 Sureshkumar T <tsureshkumar@novell.com>
581 * DataColumnMappingCollection.cs: updated attributes & attribute
582 descriptions to match with masterinfos.
584 2005-07-15 Sureshkumar T <tsureshkumar@novell.com>
586 * DataTableMappingCollection.cs: GetTableMappingBySchemaAction:
587 meaningful error message if mapping is missing.
589 * DbDataAdapter.cs: Update: meaningful message if table is missing.
591 2005-06-22 Sureshkumar T <tsureshkumar@novell.com>
593 * Index.cs: Remove : length for Array.Copy (a, i+1, a, i, length -
596 2005-06-21 Sureshkumar T <tsureshkumar@novell.com>
598 * DbConnectionStringBuilder.cs: Implemented method for parsing
599 connection string through "ConnectionString" property.
601 * DbConnectionStringBuilderHelper.cs: Helper class to provide
602 conversion between string=>.net type mapping for connection string
603 builders. The idea is to use between other providers (odbc) as
606 2005-05-29 Boris Kirzner <borisk@mainsoft.com>
607 * DbCommand.cs - added #ifdef NET_2_0 on DbCommandOptionalFeatures (not used in TARGET_JVM).
608 * ExceptionHelper.cs - removed java references. Exceptions created on formatted text messages. Code styling fixes.
609 * DbParameterCollection.cs - implemented indexer properties.
610 * DbDataAdapter.cs - delagate exceptions creating to ExceptionHelper.
612 2005-05-25 Konstantin Triger <kostat@mainsoft.com>
614 * 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
616 2005-05-20 Umadevi S <sumadevi@novell.com>
617 * Added file DbProviderSpecificTypePropertyAttribute.cs
619 2005-05-19 Umadevi S <sumadevi@novell.com>
621 * RowUpdatingEventArgs.cs - added BaseCommand property for net 2.0
623 2005-05-18 Konstantin Triger <kostat@mainsoft.com>
625 * DbDataAdapter.cs: Initialize the schema values to defaults if the schema does not contain the information
627 2005-05-16 Sureshkumar T <tsureshkumar@novell.com>
629 * RecordCache.cs: quick fix to make build 2.0 profile (follow up
630 for check in 2005-05-16).
632 2005-05-16 Konstantin Triger <kostat@mainsoft.com>
634 * Index.cs: validation that the updated row belongs to the index
636 2005-05-02 Konstantin Triger <kostat@mainsoft.com>
639 Added CharDataContainer, SByteDataContainer, UInt16DataContainer, UInt32DataContainer, UInt64DataContainer, DateTimeDataContainer, DecimalDataContainer
640 SetItemFromDataRecord: Changed to work with ISafeDataRecord or through GetValue to enable conversion
641 return DBNull.Value when the stored value is null
644 Ensure correct order for LoadDataRow
645 Fixing schema creation
649 LoadSchema: Retrieve needed fields only
652 Added Rows-to-Records mapping
653 Added ReadIDataRecord method for correct handling of default/auto increment values
655 * Added Index.cs: Index implementation
656 * Added Key.cs: Index descriptor implementation
659 2005-04-27 Sureshkumar T <tsureshkumar@novell.com>
661 * DbDataReader.cs: Added static method to construct the schema
662 table with default schema. Could be reused in many places.
664 2005-04-22 Sureshkumar T <tsureshkumar@novell.com>
666 * DbDataAdapter.cs: Moved FillTable and BuildSchema as static
667 methods as they are not operating on the current instance. This
668 could be reused to fill any table from a data reader.
670 * RecordCache.cs: While disposing records, make sure that the
671 record is not already disposed. i.e. to make sure later the same
672 record is not reused. Implemented a static method to compare two
673 version of records in a container.
675 2005-04-18 Sureshkumar T <tsureshkumar@novell.com>
677 * DataAdapter.cs: Implemenetd OnFillError handler.
679 * DbDataAdapter.cs: BuildSchema (): the table to be filled might
680 contain few additional columns as well. so mapping length should
681 be columns' length + fields' length.
683 2005-03-24 Sureshkumar T <tsureshkumar@novell.com>
685 * DbDataAdapter.cs: Update: If SourceColumn is null, do not set
686 value for the parameter.
688 2005-05-25 Umadevi S <sumadevi@novell.com>
689 * Added DbException.cs
691 2005-03-23 Sureshkumar T <tsureshkumar@novell.com>
693 * DbDataAdapter.cs: For Update, disable ReadOnly constraint
694 temporarily before updating the row. Info from Ingo Bauersachs.
695 SkipAllRemainingRows should also skip current row (msdn).
697 2005-03-22 Sureshkumar T <tsureshkumar@novell.com>
699 * DbDataAdapter.cs: Update (): update the rows based on the
700 UpdateRowSource property. Process further based on the
701 RowUpdatedEvent handler argument's Status property.
702 Fixes bug #73587. Thanks to mono@rankweg.ch (Ingo Bauersachs) for
703 bug report and patch.
705 * RowUpdatedEventArgs.cs: if custom error is not set, throw a
708 2005-03-01 Sureshkumar T <tsureshkumar@novell.com>
710 * ConnectionStringsSectionHandler.cs: Added. configuration section
711 handler for section "connectionStrings". This handler is a ad hoc
712 solution till the new configuration API is available in mono.
714 2005-02-04 Sureshkumar T <tsureshkumar@novell.com>
716 * DbDataAdapter.cs (Update ()) :
717 - Check for one return result set and map the values back to
719 - Check for output & return value parameters and update the value
720 back to mapped column
721 - check for recordsAffected only after closing the reader.
723 2005-02-02 Sureshkumar T <tsureshkumar@novell.com>
725 * DbConnection.cs: Implement Dispose pattern.
727 2005-01-25 Atsushi Enomoto <atsushi@ximian.com>
729 * DbDataPermission.cs : Empty.Union(Empty) is Empty.
731 2005-01-14 Atsushi Enomoto <atsushi@ximian.com>
733 * DbDataPermissionAttribute.cs, PermissionHelper.cs :
734 fixed some incompatible type of exception between 2.0 and 1.x.
736 Wrap exceptions thrown by SetValue() within ArgumentException.
738 2004-12-10 Sureshkumar T <tsureshkumar@novell.com>
740 * DbDataAdapter.cs (BuildSchema): Add the primary key schema iff
741 MissingSchemaAction is set to AddWithKey. Also, Add auto increment
742 value from the source table. fixes bug #67757 and #69110.
744 2004-11-24 Sureshkumar T <tsureshkumar@novell.com>
746 * DbProviderSupportedClasses.cs: Added correct enum values.
747 * DbConnection.cs: Missing virtual method EnlistTransaction Added.
748 * DbCommand.cs: Implemented ProviderFactory base factory methods.
750 2004-11-22 Sureshkumar T <tsureshkumar@novell.com>
752 * DbConnectionStringBuilder.cs: Class for helping creation of db
753 connection strings added.
755 2004-10-01 Sureshkumar T <tsureshkumar@novell.com>
757 * DbProviderFactories.cs: Implemented all the stubs. Added functionality for
758 getting available provider factories and creating a specified provider factory.
760 * DbProviderFactoriesConfigurationHandler.cs: Added functionality for handling
761 DbProviderFactories configuration section.
763 * DbProviderFactory.cs: Added protected constructor. SupportedClasses property
766 2004-09-14 Sebastien Pouliot <sebastien@ximian.com>
768 * DbDataPermission.cs: Implemented Intersect, IsSubsetOf and Union.
769 Implementation isn't complete as the restrictions seems to change the
770 expected results (breaking some rules like x.IsSubsetOf (x) == false).
771 Better (real-world) tests cases are required.
772 * PermissionHelper.cs: Fixed small differences between System.Data.dll
773 validations wrt to mscorlib.dll (XML and PermissionState).
775 2004-09-13 Sebastien Pouliot <sebastien@ximian.com>
777 * DbConnectionOptions.cs: New class for Fx 2.0. Partial implementation
778 to support new methods in DBDataPermission.
779 * DbConnectionString.cs: Updated class to split from/inherit
780 DbConnectionOptions class.
781 * DbDataPermission.cs: Implemented Add, Clear, Copy, ToXml methods and
782 completed constructors.
783 * DbDataPermissionAttribute.cs: Completed/fixed class.
784 * PermissionHelper.cs: Helper methods to create permission classes.
786 2004-08-31 Francisco Figueiredo Jr. <fxjrlists@yahoo.com.br>
787 * 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.
789 2004-07-21 Umadevi S <sumadevi@novell.com>
790 * DbDataRecord.cs - Fix for bug 58163. Return DBNull instead of null
792 2004-07-07 Umadevi S <sumadevi@novell.com>
793 * DataContainer.cs :CheckedforNull before calling the relavant setmethods in each of the
794 SetItemForDataRecord method for the DateTimeClass
797 2004-06-24 Atsushi Enomoto <atsushi@ximian.com>
799 * DataColumnMappingCollection.cs : fixed typo.
800 * DbDataAdapter.cs : column mappings were not filled.
802 2004-06-24 Atsushi Enomoto <atsushi@ximian.com>
804 * DataTableMapping.cs : Clone() should also clone ColumnMappings.
806 2004-06-18 Umadevi S <sumadevi@novell.com>
807 * DataContainer.cs - CheckedforNull before calling the relavant setmethods in each of the
808 SetItemForDataRecord method for all the classes.
810 2004-06-17 Boris Kirzner <borisk@mainsoft.com>
811 * RecordCache.cs : Added CopyRecord mathod that copies single record from one table to another.
813 2004-06-17 Boris Kirzner <borisk@mainsoft.com>
815 - Store and retreival of null and DBNull values reviewed.
816 - Added GetInt64 to support AutoIncrement of DataColumn.
817 - Added missing CopyValue method to BitDataContainer.
818 - Added FillValues method to propagate single value to whole container.
820 2004-06-10 Umadevi S <sumadevi@novell.com>
821 * DataTableMappingCollection.cs - fixed nunit testcase errors
822 IndexOfDataSetTable method
824 2004-06-09 Umadevi S <sumadevi@novell.com>
825 * DataTableMappingCollection.cs - fixed nunit testcase errors
826 - Add, GetByDataSetTable,Insert, Remove, RemoveAt methods.
828 2004-06-09 Umadevi S <sumadevi@novell.com>
829 * DataColumnMappingCollection.cs - fixed nunit testcase errors
830 - GetByDataSetColumn,IndexOfDataSetColumn, Remove methods.
832 2004-06-08 Umadevi S <sumadevi@novell.com>
833 * DataColumnMappingCollection.cs - fixed nunit testcase errors.
834 - remove, removeat, contains methods.
836 2004-06-04 Gert Driesen <drieseng@users.sourceforge.net>
838 * DataAdapter.cs: added missing protected ctor
839 * DbDataAdapter.cs: added stub for missing protected ctor
840 * DbDataPermission.cs: added stubs for missing protected
841 ctors, added stub for missing Clear method
843 2004-06-02 Gert Driesen <drieseng@users.sourceforge.net>
844 * DataColumnMappingCollection.cs: added missing attributes on
847 2004-05-27 Boris Kirzner <borisk@mainsoft.com>
848 * DataContainer.cs : Bug fixes in BitDataContainer.get_Item and StringDataContainer.SetValue .
850 2004-05-20 Gert Driesen (drieseng@users.sourceforge.net)
852 * DbDataPermissionAttribute.cs: change AllowMultiple and
853 Inherited to match .NET
855 2004-05-19 Boris Kirzner <borisk@mainsoft.com>
856 * Datacontainer.cs : CompareValues reviewed. set_Item and get_Item of null and DBNull values in case of DataContainers
857 for primitive types reviewed. Added check for null values when reading from IDataRecord.
859 2004-05-19 Boris Kirzner <borisk@mainsoft.com>
860 * RecordCache.cs - added. Each instance of record cache belongs to specific table
861 and manages pool of records ( indexes into data containers) to be used by data rows.
862 * DataContainer.cs - added. Provides implementation for data containers that holds data in arrays
863 of primitives or objects. Each data container belongs to specific DataColumn.
864 * DbDataAdapter.cs - changes to complete data storage redesign. Bug fix in FillTable
865 ( to fetch exact number of records required ).
867 2004-05-13 Umadevi S (sumadevi@novell.com)
868 * DbDataPermissionAttribute.cs - Added KeyRestrictions property with a TODO tag
870 2004-05-09 Gert Driesen (drieseng@users.sourceforge.net)
871 * ComparerFactory.cs: marked internal
873 2003-04-26 Boris Kirzner <borisk@mainsoft.com>
874 * DataColumnMappingCollection.cs : Small fix in exception message thrown.
876 2003-04-25 Boris Kirzner <borisk@mainsoft.com>
877 * DbDataAdapter.cs : Fixed bug in Fill :
878 - Reader can have empty results (fo example from UPDATE or DELETE).
879 - Reader can have results with no rows (SELECT that returns 0 rows but have columns)
880 - In FillTable - skip rows only once for each table.
882 2003-04-14 Juraj Skripsky <juraj@hotfeet.ch>
883 * DbDataAdapter.cs : Refactoring of Fill. New private method
884 FillTable does most of the work now. Use int[] instead of
885 hashtable for mapping. Move creation of tableArray[] outside
888 2004-03-12 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
890 * DbDataPermissionAttribute.cs: Added .Net 1.1 marks
891 * DataColumnMapping.cs: DO NOT USE the consts scheme if types can be referenced directly!
892 * DataTableMapping.cs: DO NOT USE the consts scheme if types can be referenced directly!
893 * DataColumnMappingConverter: Added stub
894 * DataTableMappingConverter: Added stub
896 2004-03-03 Eran Domb <erand@miansoft.com>
898 * ComparerFactory.cs : Added.
900 2004-01-10 Atsushi Enomoto <atsushi@ximian.com>
902 * DbDataPermission.cs : tiny fix to pass OleDbPermission.
904 2004-01-09 Atsushi Enomoto <atsushi@ximian.com>
906 * DbDataPermission.cs : .ctor(PermissionState state) should not call
907 obsolete .ctor(state, allowBlankPassword). csc reports an error.
909 2003-12-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
911 * DbDataAdapter.cs: handle MissingShemaAction.AddWithKey, call
912 AcceptChanges in Update when a CommandBuilder is used and
913 correctly fill information about primary keys in FillSchema.
914 Patch from Sergei Malinin (smalinin@amurnet.ru).
916 2003-12-23 Tim Coleman <tim@timcoleman.com>
917 * DbConnectionString.cs:
919 * DbProviderFactory.cs:
920 Fix typo to make CLS compliant
922 2003-12-16 Jackson Harper <jackson@ximian.com>
924 * SchemaTableOptionalColumn.cs: Add to fix default build
926 2003-12-16 Tim Coleman <tim@timcoleman.com>
927 * CatalogLocation.cs DbCommand.cs DbCommandBuilder.cs
928 * DbCommandOptionalFeatures.cs DbCommandSet.cs DbConnection.cs
929 * DbConnectionString.cs DbDataSourceEnumerator.cs
930 * DbDataUpdatableRecord.cs DbParameter.cs DbParameterCollection.cs
931 * DbProviderConfigurationHandler.cs DbProviderFactories.cs
932 * DbProviderFactoriesConfigurationHandler.cs DbProviderFactory.cs
933 * DbProviderSupportedClasses.cs DbTable.cs DbTransaction.cs
934 * GroupByBehavior.cs IdentifierCase.cs SchemaLocation.cs
935 * SchemaTableColumn.cs:
936 New stubs added for .NET 1.2
937 * DataAdapter.cs DataColumnMapping.cs DataColumnMappingCollection.cs
938 * DataTableMapping.cs DataTableMappingCollection.cs DbDataAdapter.cs
939 * DbDataPermission.cs DbDataPermissionAttribute.cs DbDataRecord.cs
940 * FieldNameLookup.cs SchemaInfo.cs:
941 Changes made for .NET 1.2
943 2003-10-22 Eran Domb <erand@miansoft.com>
944 * DbDataAdapter.cs : Check if there is mapping to avoid exception.
946 2003-11-26 Tim Coleman <tim@timcoleman.com>
947 * DbDataReader.cs: Add new stub class
949 2003-11-23 Pedro Martínez Juliá <yoros@wanadoo.es>
951 * DbDataAdapter.cs: Call command dispose in self dispose method. We
952 need to dispose the connections and other stuff stored in the
955 2003-11-10 Pedro Martínez Juliá <yoros@wanadoo.es>
957 * DataColumnMappingCollection.cs: Fix a missing exception when the
958 required mapping is not in the collection. MS.NET throws an
961 2003-10-22 Eran Domb <erand@miansoft.com>
963 * DbDataAdapter.cs (Fill): add only the mapped column to the dataTable (not all columns of dataReader).
964 Also closing the dataReader if an exception is thrown.
965 (Fill): the same as above.
966 (SetupSchema): in now return string (the table name).
967 (GetFillParameters): fix a bug.
968 (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.
969 (Update): first open the connection if needed. Catch an exception of the ExecuteQuery.
972 2003-09-30 Duncan Mak <duncan@ximian.com>
974 Patch from Eran Domb <eran@mainsoft.com>.
976 * DbDataAdapter.cs (Fill): Fixed an Exception from being thrown.
978 2003-09-25 Duncan Mak <duncan@ximian.com>
980 * DbDataAdapter.cs (Fill): Patch from Eran Domb, <eran@mainsoft.com>.
981 Fixes a possible NullReferenceException, more details here:
983 http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002116.html
985 2003-09-21 eran <erand@mainsoft.com>
987 * DbDataRecord.cs: The method
988 System.Data.Common.DbDataRecord.GetValues(object[] values) did not
989 put the values of the DbDataRecord into values parameter.
991 2003-08-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
993 * DbDataAdapter.cs: provide a Type for ToArray to avoid invalid cast
994 exception. Thanks to Mark Easton <measton@tebiki.co.uk>.
996 2003-07-31 Duncan Mak <duncan@ximian.com>
998 * DataAdapter.cs (CloneInternals): Mark with ObsoleteAttribute for
1001 2003-03-21 Alan Tam <Tam@SiuLung.com>
1003 * DbDataAdapter.cs: Update now uses correct DataRowVersion
1004 when accessing the data.
1006 2003-03-17 Aleksey Demakov <avd@openlinksw.com>
1008 * DbDataAdapter.cs: BuildSchema now uses ColumnName instead
1009 of BaseColumnName (bug #39830) for DataColumn names.
1010 BaseTableName is no longer taken into account as well.
1012 2003-02-28 Aleksey Demakov <avd@openlinksw.com>
1014 * DbDataAdapter.cs: Update (DataSet) updates the default
1017 2003-02-25 Alan Tam <Tam@SiuLung.com>
1019 * DbDataAdapter.cs: Added support for filling when schema is present.
1020 Fixed incorrect behavior when ColumnMapping is present
1021 when more than one fields have the same name. Implemented Dispose.
1022 Fixed error when there is no ColumnMapping at all.
1023 Still have some problems in finding the correct TableMapping
1024 because the SourceTable name is not present in BuildSchema
1026 2003-02-24 Aleksey Demakov <avd@openlinksw.com>
1028 * DbDataAdapter.cs: The original code might pass a null DataTableMapping
1029 value which is then used to create a RowUpdatingEventArgs
1030 instance. So RowUpdatingEvent handler (for instance
1031 CommandBuilder) could get null DataTableMapping which
1032 might be unexpected. The patch makes sure that a non-null
1033 DataTableMapping is passed.
1035 2003-01-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1037 * DbEnumerator.cs: why does the runtime throw an invalid cast here? The
1038 object is an Int16... Gotta fill a bug report and when fixed undo this
1041 2003-01-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1043 * DbDataRecord.cs: return DbNull.Value in GetValue () if value is null.
1045 2002-10-31 Daniel Morgan <danmorg@sc.rr.com>
1047 * SchemaInfo.cs: added missing properties to fix mcs build
1049 2002-05-05 Miguel de Icaza <miguel@ximian.com>
1051 * DataTableMapping.cs, DataTableMappingCollection.cs: comment out
1052 interfaces we do not implement yet.
1054 * DbDataAdapter.cs: Stub IEnumerable, comment out interfaces
1055 we do not implement yet.
1057 * DbDataPermissionAttribute.cs: call base constructor.