* Utility changes to convert between DbType/SqlDbType/System.Type
[mono.git] / mcs / class / System.Data / System.Data.Common / ChangeLog
1 2009-07-15  Veerapuram Varadhan
2
3         ** Part of fix for #325464
4         * DbParameter.cs (FrameworkDbType, DbTypeMapping, SystemType): New internal properties 
5         required to convert between DbType/FrameworkType/SystemType.
6         
7 2009-05-10  Marek Habersack  <mhabersack@novell.com>
8
9         * DbConnection.cs: implemented the DbProviderFactory property
10
11 2009-03-31  Veerapuram Varadhan  <vvaradhan@novell.com>
12
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.
16         
17 2009-01-03  Gert Driesen  <drieseng@users.sourceforge.net>
18
19         * DbCommandBuilder.cs (QuoteIdentifier): Throw NotSupportedException.
20         * DbDataAdapter.cs (Update): Add row causing concurrency violation
21         to DBConcurrencyException.
22
23 2008-12-30  Raja R Harinath  <harinath@hurrynot.org>
24
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
30 2008-12-30  Gert Driesen  <drieseng@users.sourceforge.net>
31
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.
36
37 2008-12-30  Gert Driesen  <drieseng@users.sourceforge.net>
38
39         * DbCommandBuilder.cs: Fixed default value for ConflicOption.
40
41 2008-12-30  Gert Driesen  <drieseng@users.sourceforge.net>
42
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.
50
51 2008-11-25  Atsushi Enomoto  <atsushi@ximian.com>
52
53         * DbDataRecord.cs : it is abstract, so create different impl. class.
54         * DbEnumerator.cs : use above.
55
56 2008-11-17  Raja R Harinath  <harinath@hurrynot.org>
57
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]'.
63
64 2008-11-17  Raja R Harinath  <harinath@hurrynot.org>
65
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.
69         (Array): Remove.
70
71 2008-11-17  Raja R Harinath  <harinath@hurrynot.org>
72
73         * RecordCache.cs: Reduce some extraneous nesting.
74
75 2008-10-07  Daniel Morgan  <monodanmorg@yahoo.com>
76
77         * DbConnectionStringBuilder.cs: fix setting and getting
78         the ConnectionString property
79
80 2008-09-16  Veerapuram Varadhan  <vvaradhan@novell.com>
81
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: 
85
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,
89         which will fail.
90
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.
95
96         3. Multiple parameters with the same name are generated if the
97         parameter names should be named after the columns.
98         
99 2008-09-05  Raja R Harinath  <harinath@hurrynot.org>
100
101         * DataContainer.cs (*.ZeroOut): Rename from the somewhat unclear
102         'SetDefaultValue'.
103         (IsNull): Use a more idiomatic form of the short-circuit.
104         (*.SetValue): Convert to one-liners.
105
106 2008-08-08  Raja R Harinath  <harinath@hurrynot.org>
107
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.
113
114 2008-07-06  Sebastien Pouliot  <sebastien@ximian.com> 
115
116         * DbDataReader.cs: Replace a few Type.GetType by typeof
117         [Found using Gendarme AvoidTypeGetTypeForConstantStringsRule]
118
119 2008-07-03  Marek Habersack  <mhabersack@novell.com>
120
121         * DataAdapter.cs (BuildSchema): Check for null.
122         
123 2008-07-01  Rodrigo Kumpera  <rkumpera@novell.com>
124
125         * RecordCache.cs: Kill some foreach loops.
126
127 2008-04-21  Gert Driesen  <drieseng@users.sourceforge.net>
128
129         * DataColumnMappingCollection.cs: Modified argument names to match
130         MS. Code formatting.
131         * DataTableMappingCollection.cs: Modified argument names to match MS.
132         Code formatting.
133
134 2008-03-23  Gert Driesen  <drieseng@users.sourceforge.net>
135
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.
141
142 2007-11-15  Atsushi Enomoto  <atsushi@ximian.com>
143
144         * DbProviderFactoriesConfigurationHandler.cs : Create() now takes
145           parent DataSet into consideration i.e. it now merges items in
146           different configurations. Fixed bug #323708.
147
148 2007-10-21  Gert Driesen  <drieseng@users.sourceforge.net>
149
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.
154
155 2007-10-20  Gert Driesen  <drieseng@users.sourceforge.net>
156
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
161         code formatting.
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.
165
166 2007-10-19  Gert Driesen  <drieseng@users.sourceforge.net>
167
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.
174
175 2007-09-27  Nagappan A <anagappan@novell.com> 
176
177         * DbDataAdapter.cs: Added MonoTODO in appropriate place.
178         
179         * DbCommandBuilder.cs (initializeCommand): Implemented missing API.
180
181 2007-09-25  Nagappan A  <anagappan@novell.com>
182
183         * DbConnection.cs: 2.0 attribute fixes.
184
185         * DataColumnMapping.cs: 2.0 attribute fixes.
186
187         * DbParameterCollection.cs: Code alignment.
188
189         * DataAdapter.cs: 2.0 attribute fixes.
190
191         * DataTableMapping.cs: 2.0 attribute fixes.
192
193         * RowUpdatingEventArgs.cs (BaseCommand): Code alignment.
194
195 2007-09-24  Konstantin Triger <kostat@mainsoft.com>
196
197         * DbEnumerator.cs, DbDataRecord.cs: refactoring.
198         * DbDataRecord.cs: GetValue() should return null instead of DBNull.
199
200 2007-08-10  Nagappan A  <anagappan@novell.com>
201
202         * DbDataAdapter.cs (Fill): Fixed method signature.
203
204 2007-07-26  Nagappan A  <anagappan@novell.com>
205
206         * DbConnection.cs: Removed bogus TODO.
207
208 2007-07-22  Nagappan A  <anagappan@novell.com>
209
210         * DbConnection.cs: 2.0 missing features.
211
212         * DbDataAdapter.cs: 2.0 missing features.
213
214 2007-06-30  Gert Driesen  <drieseng@users.sourceforge.net>
215
216         * DbDataAdapter.cs: Marked ICloneable.Clone obsolete to match MS.
217
218 2007-06-21  Nagappan A  <anagappan@novell.com>
219
220         * DbConnectionStringBuilder.cs (Init): Modified the dictionary to
221         use StringComparer.InvariantCultureIgnoreCase.
222         (Add, ContainsKey): Checks whether argument is null or empty string.
223
224 2007-05-08  Adar Wesley <adarw@mainsoft.com>
225
226         * DbProviderFactory.cs: minor refactoring for throwing exceptions
227
228 2007-04-30  Marek Habersack  <mhabersack@novell.com>
229
230         * DbProviderFactories.cs: throw the same exception MS.NET does.
231
232 2007-03-03  Gert Driesen  <drieseng@users.sourceforge.net>
233
234         * DbProviderFactoriesConfigurationHandler.cs: Added support for
235         clear node.
236
237 2007-03-03  Gert driesen  <drieseng@users.sourceforge.net>
238
239         * ConnectionStringsSectionHandler.cs: Removed since the 2.0 config
240         API is in place.
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.
250
251 2007-02-26  Atsushi Enomoto  <atsushi@ximian.com>
252
253         * DbProviderFactoriesConfigurationHandler.cs : there was a config
254           test that used to be broken.
255
256 2007-02-26  Atsushi Enomoto  <atsushi@ximian.com>
257
258         * DbProviderFactoriesConfigurationHandler.cs : remove "support"
259           attribute check, as it does not really do anything.
260
261 2007-02-19  Atsushi Enomoto  <atsushi@ximian.com>
262
263         * DbProviderFactoriesConfigurationHandler.cs : "support" attribute is
264           optional. Fixed bug #80894.
265
266 2007-02-09  Nagappan A  <anagappan@novell.com>
267
268         * DbProviderFactory.cs: Derived class has to implement all the
269         methods of this class.
270
271         * DbProviderFactoriesConfigurationHandler.cs (Create): Removed
272         bogus MonoTODO
273
274 2007-01-08  Nagappan A  <anagappan@novell.com>
275
276         * DataTableMappingCollection.cs (AddRange):  Implemented missing
277         NET 2.0 API.
278
279         * DbConnection.cs (GetSchema): Implemented missing NET 2.0 API,
280         based on SqlClient implementation.
281
282         * DbConnectionStringBuilder.cs (AppendKeyValuePair): Implemented
283         missing API.
284
285         * DbDataReader.cs (GetData): Implemented missing API.
286         (GetDbDataReader): Implemented missing API.
287
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
299         public methods.
300
301         * DbProviderFactory.cs: Removed MonoTODO's as the derived class
302         has to implement all the methods in this class.
303
304         * DataAdapter.cs (Fill): Implemented missing method.
305
306         * DbDataAdapter.cs (FillCommandBehavior): Implemented property.
307
308 2006-12-20  Nagappan A  <anagappan@novell.com>
309
310         * DataColumnMapping.cs (GetDataColumnBySchemaAction): Implemented
311         2.0 profile method.
312
313         * DbDataReader.cs: Removed TODO's where ever the implementation is
314         available.
315
316         * RowUpdatedEventArgs.cs: Removed TODO's where ever the
317         implementation is available.
318
319         * DataAdapter.cs (FillInternal): Moved from DbDataAdapater.cs to
320         here.
321         (BuildSchema): Moved from DbDataAdapter.cs.
322         (FillTable): Moved from DbDataAdapter.cs.
323         (OnFillErrorInternal): Implemented new internal method to raise an
324         event.
325         (SetupSchema): Moved from DbDataAdapter.cs.
326         (FillInterl): Moved common implementation from DbDataAdapter.cs.
327         Removed TODO's where ever the implementation is available.
328
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.
336
337 2006-12-11  Miguel de Icaza  <miguel@novell.com>
338
339         * DataAdapter.cs: Removed TODO, NotSupportedException was the
340         correct implementation. 
341
342 2006-11-28  Nagappan A  <anagappan@novell.com>
343
344         * DbDataAdapter.cs: Removed bogus MonoTODOs
345
346         * DataAdapter.cs: Removed bogus MonoTODOs
347         
348 2006-11-15  Nagappan A  <anagappan@novell.com>
349
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
354         variable.
355         (GetInsertCommand): Returns DbDataAdapter insertCommand internal
356         variable.
357         (GetUpdateCommand): Returns DbDataAdapter updateCommand internal
358         variable.
359
360 2006-09-06  Konstantin Triger <kostat@mainsoft.com>
361
362         * DbDataAdapter.cs: added basic implementation for some 2.0 features.
363
364 2006-08-24  Vladimir Krasnov <vladimirk@mainsoft.com>
365
366         * DbProviderFactories.cs: added TARGET_JVM block to not supported
367         functionality
368
369 2006-08-06  Konstantin Triger <kostat@mainsoft.com>
370
371         * DbDataReader.cs: DbDataReader.Dipose(bool) - implemented.
372
373 2006-07-17  Senganal T <tsenganal@novell.com>
374
375         * Index.cs :
376                 - GetAllRows : Added. Returns all the rows in the current
377                 index.
378                 - GetDistinctRows :Added. Returns all the distinct rows (based
379                 in Key Columns) in the index.
380                 
381 2006-07-13  Senganal T <tsenganal@novell.com>
382
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 :
389                 2.0 Api fixes
390
391 2006-06-15  Senganal T <tsenganal@novell.com>
392
393         * Key.cs : 
394                 -Equals : Check for Equality of Sort Order too.
395                 
396 2006-04-07  Senganal T <tsenganal@novell.com>
397
398         * DbDataAdapter.cs :
399                 * Update () : If the Update/Delete Query has a null check,
400                 then populate the parameter value correctly.
401
402 2006-03-20  Senganal T <tsenganal@novell.com>
403
404         * DataAdapter.cs :
405                 - Ctor () : Set Default Values for DataAdapter members
406         * DbDataAdapter.cs : 
407                 - Update () : Call row.AcceptChanges only if AcceptChangesDuringUpdate
408                 is true. Fixes bug #77776
409
410 2006-03-09  Senganal T <tsenganal@novell.com>
411         
412         * Index.cs :
413                 - Update () : Add the new record in the correct position
414
415 2006-03-07  Senganal T <tsenganal@novell.com>
416
417         * Key.cs : 
418                 Reverted the changes from the earlier patch.
419
420 2006-02-22  Senganal T <tsenganal@novell.com>
421
422         * DbDataAdapter.cs :
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.
426         * Key.cs :
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.
430
431 2006-02-18  Raja R Harinath  <harinath@gmail.com>
432
433         * DbConnectionStringBuilder.cs (ICollection.CopyTo): Use
434         _dictionary, not 'this' in cast.
435
436 2006-02-17  Chris Toshok  <toshok@ximian.com>
437
438         * DbDataAdapter.cs: more 2.0 cleanup.
439
440 2006-02-17  Chris Toshok  <toshok@ximian.com>
441
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.
447         
448 2006-02-17  Chris Toshok  <toshok@ximian.com>
449
450         * DbProviderFactory.cs: remove two methods.  and mark the
451         DbProviderSupportedClasses ctor as internal since it's not part of
452         the public api.
453
454         * DbTable.cs: remove this class from 2.0 build.. leave it for the
455         JVM build, I guess?
456
457         * RowUpdatingEventArgs.cs: this class isn't abstract in 2.0.
458
459         * RowUpdatedEventArgs.cs: this class isn't abstract in 2.0.
460
461         * SupportedJoinOperators.cs: new 2.0 enum.
462
463         * CatalogLocation.cs: fix enum values.
464
465         * GroupByBehavior.cs: same.
466
467         * IdentifierCase.cs: same.
468
469         * SchemaTableColumn.cs: class is static, not sealed.  and add
470         missing elements.
471         
472         * SchemaTableOptionalColumn.cs: same.
473         
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.
477
478         * DbDataUpdatableRecord.cs: remove this 2.0 file.
479
480 2006-02-17  Chris Toshok  <toshok@ximian.com>
481
482         * DbDataReader.cs: remove VisibleFieldCount attribute, and remove
483         IDataReader2 and IDataRecord2 interfaces.
484         
485 2006-02-13  Senganal T  <tsenganal@novell.com>
486
487         * DbDataAdapter.cs :
488                 - FillSchema  : 
489                         - Add table to schema only if MissingSchemaAction is not Ignore
490                         Add schema to table if MissingSchemaAction is set to either of
491                         Add or AddWithKey
492                 - BuildSchema :
493                         - Set the Schema values only if MissingSchemaAction is set to
494                         AddWithKey
495
496 2006-01-31  Senganal T  <tsenganal@novell.com>
497
498         * DbDataAdapter.cs :
499                 - Corrected an error in the prev checkin.. Fixes #77415
500
501 2006-01-27  Senganal T  <tsenganal@novell.com>
502
503         * DbDataAdapter.cs :
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
508         * DataAdapter :
509                 - Added argument checks
510         * ExceptionHelper :
511                 - Added InvalidEnumException , a helper function to print error msg
512                 
513 2006-01-11 Boris Kirzner <borisk@mainsoft.com>
514         * Index.cs: removed redundant call to RebuildIndex() in constructor.
515
516 2005-12-12  Konstantin Triger <kostat@mainsoft.com>
517
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().
523
524 2005-11-22  Konstantin Triger <kostat@mainsoft.com>
525
526         * DbProviderFactory.cs: TARGET_JVM ifdef.
527
528 2005-11-21  Senganal T <tsenganal@novell.com>
529
530         * DbDataAdapter.cs
531         * DbParameter.cs
532         * DbTransaction.cs
533         * DbTable.cs
534         * DbProviderFactories.cs
535         * DbException.cs
536         * DbProviderFactory.cs
537         * DbCommandBuilder.cs
538         * DbDataReader.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 
543
544 2005-10-24  Konstantin Triger <kostat@mainsoft.com>
545
546         * DataContainer.cs: removed extra type validation for object container
547
548 2005-10-14  Senganal T  <tsenganal@novell.com>
549
550         * DbDataAdapter.cs : 
551                 - BuildSchema() : Set the value of DataColumn Property 'AllowDBNull'
552                 as returned by database. Fixes bug#76433. 
553
554 2005-09-21 Boris Kirzner <borisk@mainsoft.com>
555         * Index.cs: 
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.
559         * Key.cs:
560                 - Added HasFilter property, CanContain and DependsOn methods.
561                 - Equals() uses filter expression comparison.           
562
563 2005-09-07 Boris Kirzner <borisk@mainsoft.com>
564         * DataContainer.cs: Do not convert value if container type 
565         is System.Object.
566
567 2005-08-08  Gert Driesen  <drieseng@users.sourceforge.net>
568
569         * DbTypes.cs: Marked internal to fix public API.
570
571 2005-08-05  Sureshkumar T  <tsureshkumar@novell.com>
572
573         * DbDataAdapter.cs:
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.
578
579 2005-07-22  Sureshkumar T  <tsureshkumar@novell.com>
580
581         * DataColumnMappingCollection.cs: updated attributes & attribute
582         descriptions to match with masterinfos.
583
584 2005-07-15  Sureshkumar T  <tsureshkumar@novell.com>
585
586         * DataTableMappingCollection.cs: GetTableMappingBySchemaAction:
587         meaningful error message if mapping is missing.
588
589         * DbDataAdapter.cs: Update: meaningful message if table is missing.
590
591 2005-06-22  Sureshkumar T  <tsureshkumar@novell.com>
592
593         * Index.cs: Remove : length for Array.Copy (a, i+1, a, i, length -
594         (i+1)) corrected.
595
596 2005-06-21  Sureshkumar T  <tsureshkumar@novell.com>
597
598         * DbConnectionStringBuilder.cs: Implemented method for parsing
599         connection string through "ConnectionString" property.
600
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
604         well.
605
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.
611         
612 2005-05-25 Konstantin Triger <kostat@mainsoft.com>
613
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
615
616 2005-05-20 Umadevi S <sumadevi@novell.com>
617         * Added file DbProviderSpecificTypePropertyAttribute.cs
618
619 2005-05-19 Umadevi S <sumadevi@novell.com>
620
621         * RowUpdatingEventArgs.cs - added BaseCommand property for net 2.0
622
623 2005-05-18 Konstantin Triger <kostat@mainsoft.com>
624
625         * DbDataAdapter.cs: Initialize the schema values to defaults if the schema does not contain the information
626
627 2005-05-16  Sureshkumar T  <tsureshkumar@novell.com>
628
629         * RecordCache.cs: quick fix to make build 2.0 profile (follow up
630         for check in 2005-05-16).
631
632 2005-05-16 Konstantin Triger <kostat@mainsoft.com>
633
634         * Index.cs: validation that the updated row belongs to the index
635
636 2005-05-02 Konstantin Triger <kostat@mainsoft.com>
637
638         * DataContainer.cs: 
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
642         
643         * DbDataAdapter.cs:
644                 Ensure correct order for LoadDataRow
645                 Fixing schema creation
646                 Use NewRowArray API
647         
648         * DbEnumerator.cs:
649                 LoadSchema: Retrieve needed fields only
650         
651         * RecordCache.cs:
652                 Added Rows-to-Records mapping
653                 Added ReadIDataRecord method for correct handling of default/auto increment values
654         
655         * Added Index.cs: Index implementation
656         * Added Key.cs: Index descriptor implementation
657
658
659 2005-04-27  Sureshkumar T  <tsureshkumar@novell.com>
660
661         * DbDataReader.cs: Added static method to construct the schema
662         table with default schema. Could be reused in many places.
663
664 2005-04-22  Sureshkumar T  <tsureshkumar@novell.com>
665
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.
669
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.
674
675 2005-04-18  Sureshkumar T  <tsureshkumar@novell.com>
676
677         * DataAdapter.cs: Implemenetd OnFillError handler.
678
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.
682
683 2005-03-24  Sureshkumar T  <tsureshkumar@novell.com>
684
685         * DbDataAdapter.cs: Update: If  SourceColumn is null, do not set
686         value for the parameter.
687
688 2005-05-25 Umadevi S <sumadevi@novell.com>
689         * Added DbException.cs
690
691 2005-03-23  Sureshkumar T  <tsureshkumar@novell.com>
692
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).
696
697 2005-03-22  Sureshkumar T  <tsureshkumar@novell.com>
698
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.
704
705         * RowUpdatedEventArgs.cs: if custom error is not set, throw a
706         default error.
707
708 2005-03-01  Sureshkumar T  <tsureshkumar@novell.com>
709
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.
713
714 2005-02-04  Sureshkumar T  <tsureshkumar@novell.com>
715
716         * DbDataAdapter.cs (Update ()) :
717         - Check for one return result set and map the values back to
718           datatable.
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.
722
723 2005-02-02  Sureshkumar T  <tsureshkumar@novell.com>
724
725         * DbConnection.cs: Implement Dispose pattern.
726
727 2005-01-25  Atsushi Enomoto  <atsushi@ximian.com>
728
729         * DbDataPermission.cs : Empty.Union(Empty) is Empty.
730
731 2005-01-14  Atsushi Enomoto  <atsushi@ximian.com>
732
733         * DbDataPermissionAttribute.cs, PermissionHelper.cs :
734           fixed some incompatible type of exception between 2.0 and 1.x.
735         * DataContainer.cs :
736           Wrap exceptions thrown by SetValue() within ArgumentException.
737
738 2004-12-10  Sureshkumar T  <tsureshkumar@novell.com>
739
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.
743
744 2004-11-24  Sureshkumar T  <tsureshkumar@novell.com>
745
746         * DbProviderSupportedClasses.cs: Added correct enum values.
747         * DbConnection.cs: Missing virtual method EnlistTransaction Added.
748         * DbCommand.cs: Implemented ProviderFactory base factory methods.
749
750 2004-11-22  Sureshkumar T  <tsureshkumar@novell.com>
751
752         * DbConnectionStringBuilder.cs: Class for helping creation of db
753         connection strings added.
754
755 2004-10-01  Sureshkumar T  <tsureshkumar@novell.com>
756
757         * DbProviderFactories.cs: Implemented all the stubs. Added functionality for
758         getting available provider factories and creating a specified provider factory.
759
760         * DbProviderFactoriesConfigurationHandler.cs: Added functionality for handling
761         DbProviderFactories configuration section.
762
763         * DbProviderFactory.cs: Added protected constructor. SupportedClasses property
764         is made abstract.
765
766 2004-09-14  Sebastien Pouliot  <sebastien@ximian.com>
767
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).
774
775 2004-09-13  Sebastien Pouliot  <sebastien@ximian.com>
776
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.
785
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.
788
789 2004-07-21 Umadevi S <sumadevi@novell.com>
790         * DbDataRecord.cs - Fix for bug 58163. Return DBNull instead of null
791
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
795
796
797 2004-06-24  Atsushi Enomoto  <atsushi@ximian.com>
798
799         * DataColumnMappingCollection.cs : fixed typo.
800         * DbDataAdapter.cs : column mappings were not filled.
801
802 2004-06-24  Atsushi Enomoto  <atsushi@ximian.com>
803
804         * DataTableMapping.cs : Clone() should also clone ColumnMappings.
805
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.
809
810 2004-06-17  Boris Kirzner  <borisk@mainsoft.com>
811         * RecordCache.cs : Added CopyRecord mathod that copies single record from one table to another.
812
813 2004-06-17  Boris Kirzner  <borisk@mainsoft.com>
814         * Datacontainer.cs : 
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.
819         
820 2004-06-10 Umadevi S <sumadevi@novell.com>
821         * DataTableMappingCollection.cs - fixed nunit testcase errors
822         IndexOfDataSetTable method
823
824 2004-06-09 Umadevi S <sumadevi@novell.com>
825         * DataTableMappingCollection.cs - fixed nunit testcase errors
826         - Add, GetByDataSetTable,Insert, Remove, RemoveAt methods.
827
828 2004-06-09 Umadevi S <sumadevi@novell.com>
829         * DataColumnMappingCollection.cs - fixed nunit testcase errors
830         - GetByDataSetColumn,IndexOfDataSetColumn, Remove methods.      
831
832 2004-06-08 Umadevi S <sumadevi@novell.com>
833         * DataColumnMappingCollection.cs - fixed nunit testcase errors.
834         - remove, removeat, contains methods.
835
836 2004-06-04  Gert Driesen <drieseng@users.sourceforge.net>
837
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
842
843 2004-06-02  Gert Driesen <drieseng@users.sourceforge.net>
844        * DataColumnMappingCollection.cs: added missing attributes on
845        indexers
846
847 2004-05-27  Boris Kirzner  <borisk@mainsoft.com>
848         * DataContainer.cs : Bug fixes in BitDataContainer.get_Item and StringDataContainer.SetValue .
849
850 2004-05-20  Gert Driesen (drieseng@users.sourceforge.net)
851
852         *  DbDataPermissionAttribute.cs: change AllowMultiple and
853         Inherited to match .NET
854
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.
858         
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 ).
866         
867 2004-05-13 Umadevi S (sumadevi@novell.com)
868         * DbDataPermissionAttribute.cs - Added KeyRestrictions property with a TODO tag
869
870 2004-05-09  Gert Driesen (drieseng@users.sourceforge.net)
871         * ComparerFactory.cs: marked internal
872
873 2003-04-26  Boris Kirzner <borisk@mainsoft.com>
874         * DataColumnMappingCollection.cs : Small fix in exception message thrown.
875           
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.
881         
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
886         of loop.
887
888 2004-03-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
889
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
895
896 2004-03-03  Eran Domb  <erand@miansoft.com>
897         
898         * ComparerFactory.cs : Added.
899         
900 2004-01-10  Atsushi Enomoto  <atsushi@ximian.com>
901
902         * DbDataPermission.cs : tiny fix to pass OleDbPermission.
903
904 2004-01-09  Atsushi Enomoto  <atsushi@ximian.com>
905
906         * DbDataPermission.cs : .ctor(PermissionState state) should not call
907           obsolete .ctor(state, allowBlankPassword). csc reports an error.
908
909 2003-12-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
910
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).
915
916 2003-12-23  Tim Coleman <tim@timcoleman.com>
917         * DbConnectionString.cs:
918                 Some implementation
919         * DbProviderFactory.cs:
920                 Fix typo to make CLS compliant
921
922 2003-12-16  Jackson Harper <jackson@ximian.com>
923
924         * SchemaTableOptionalColumn.cs: Add to fix default build
925         
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
942
943 2003-10-22  Eran Domb  <erand@miansoft.com>
944         * DbDataAdapter.cs : Check if there is mapping to avoid exception.
945
946 2003-11-26  Tim Coleman <tim@timcoleman.com>
947         * DbDataReader.cs: Add new stub class
948
949 2003-11-23  Pedro Martínez Juliá  <yoros@wanadoo.es>
950
951         * DbDataAdapter.cs: Call command dispose in self dispose method. We
952         need to dispose the connections and other stuff stored in the
953         commands.
954
955 2003-11-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
956
957         * DataColumnMappingCollection.cs: Fix a missing exception when the
958         required mapping is not in the collection. MS.NET throws an
959         exception there.
960
961 2003-10-22  Eran Domb  <erand@miansoft.com>
962
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.
970         
971
972 2003-09-30  Duncan Mak  <duncan@ximian.com>
973
974         Patch from Eran Domb <eran@mainsoft.com>.
975         
976         * DbDataAdapter.cs (Fill): Fixed an Exception from being thrown.
977
978 2003-09-25  Duncan Mak  <duncan@ximian.com>
979
980         * DbDataAdapter.cs (Fill): Patch from Eran Domb, <eran@mainsoft.com>.
981         Fixes a possible NullReferenceException, more details here:
982
983         http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002116.html
984
985 2003-09-21  eran <erand@mainsoft.com>
986
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.
990
991 2003-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
992
993         * DbDataAdapter.cs: provide a Type for ToArray to avoid invalid cast
994         exception. Thanks to Mark Easton <measton@tebiki.co.uk>.
995
996 2003-07-31  Duncan Mak  <duncan@ximian.com>
997
998         * DataAdapter.cs (CloneInternals): Mark with ObsoleteAttribute for
999         NET_1_1.
1000
1001 2003-03-21  Alan Tam <Tam@SiuLung.com>
1002
1003         * DbDataAdapter.cs: Update now uses correct DataRowVersion
1004         when accessing the data.
1005
1006 2003-03-17  Aleksey Demakov <avd@openlinksw.com>
1007
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.
1011
1012 2003-02-28  Aleksey Demakov <avd@openlinksw.com>
1013
1014         * DbDataAdapter.cs: Update (DataSet) updates the default
1015         table only.
1016
1017 2003-02-25  Alan Tam <Tam@SiuLung.com>
1018         
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
1025
1026 2003-02-24  Aleksey Demakov <avd@openlinksw.com>
1027
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.
1034
1035 2003-01-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1036
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
1039         patch.
1040
1041 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1042
1043         * DbDataRecord.cs: return DbNull.Value in GetValue () if value is null.
1044
1045 2002-10-31  Daniel Morgan <danmorg@sc.rr.com>
1046
1047         * SchemaInfo.cs: added missing properties to fix mcs build
1048
1049 2002-05-05  Miguel de Icaza  <miguel@ximian.com>
1050
1051         * DataTableMapping.cs, DataTableMappingCollection.cs: comment out
1052         interfaces we do not implement yet.
1053
1054         * DbDataAdapter.cs: Stub IEnumerable, comment out interfaces
1055         we do not implement yet.
1056
1057         * DbDataPermissionAttribute.cs: call base constructor.
1058