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