In System.Data.Common:
[mono.git] / mcs / class / System.Data / System.Data.Common / ChangeLog
1 2005-08-05  Sureshkumar T  <tsureshkumar@novell.com>
2
3         * DbDataAdapter.cs:
4         - Update (): set parameter values only after getting the
5         appropriate command from command builder. Close reader only if it
6         is not closed before. Use parameter's SourceVersion. Whitespace
7         corrections to comply with standard.
8
9 2005-07-22  Sureshkumar T  <tsureshkumar@novell.com>
10
11         * DataColumnMappingCollection.cs: updated attributes & attribute
12         descriptions to match with masterinfos.
13
14 2005-07-15  Sureshkumar T  <tsureshkumar@novell.com>
15
16         * DataTableMappingCollection.cs: GetTableMappingBySchemaAction:
17         meaningful error message if mapping is missing.
18
19         * DbDataAdapter.cs: Update: meaningful message if table is missing.
20
21 2005-06-22  Sureshkumar T  <tsureshkumar@novell.com>
22
23         * Index.cs: Remove : length for Array.Copy (a, i+1, a, i, length -
24         (i+1)) corrected.
25
26 2005-06-21  Sureshkumar T  <tsureshkumar@novell.com>
27
28         * DbConnectionStringBuilder.cs: Implemented method for parsing
29         connection string through "ConnectionString" property.
30
31         * DbConnectionStringBuilderHelper.cs: Helper class to provide
32         conversion between string=>.net type mapping for connection string
33         builders. The idea is to use between other providers (odbc) as
34         well.
35
36 2005-05-29 Boris Kirzner <borisk@mainsoft.com>
37         * DbCommand.cs - added #ifdef NET_2_0 on DbCommandOptionalFeatures (not used in TARGET_JVM). \r
38         * ExceptionHelper.cs - removed java references. Exceptions created on formatted text messages. Code styling fixes.\r
39         * DbParameterCollection.cs - implemented indexer properties.
40         * DbDataAdapter.cs - delagate exceptions creating to ExceptionHelper.
41         
42 2005-05-25 Konstantin Triger <kostat@mainsoft.com>
43
44       * 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
45
46 2005-05-20 Umadevi S <sumadevi@novell.com>
47         * Added file DbProviderSpecificTypePropertyAttribute.cs
48
49 2005-05-19 Umadevi S <sumadevi@novell.com>
50
51         * RowUpdatingEventArgs.cs - added BaseCommand property for net 2.0
52
53 2005-05-18 Konstantin Triger <kostat@mainsoft.com>
54
55         * DbDataAdapter.cs: Initialize the schema values to defaults if the schema does not contain the information
56
57 2005-05-16  Sureshkumar T  <tsureshkumar@novell.com>
58
59         * RecordCache.cs: quick fix to make build 2.0 profile (follow up
60         for check in 2005-05-16).
61
62 2005-05-16 Konstantin Triger <kostat@mainsoft.com>
63
64         * Index.cs: validation that the updated row belongs to the index
65
66 2005-05-02 Konstantin Triger <kostat@mainsoft.com>
67
68         * DataContainer.cs: 
69                 Added CharDataContainer, SByteDataContainer, UInt16DataContainer, UInt32DataContainer, UInt64DataContainer, DateTimeDataContainer, DecimalDataContainer
70                 SetItemFromDataRecord: Changed to work with ISafeDataRecord or through GetValue to enable conversion
71                 return DBNull.Value when the stored value is null
72         
73         * DbDataAdapter.cs:
74                 Ensure correct order for LoadDataRow
75                 Fixing schema creation
76                 Use NewRowArray API
77         
78         * DbEnumerator.cs:
79                 LoadSchema: Retrieve needed fields only
80         
81         * RecordCache.cs:
82                 Added Rows-to-Records mapping
83                 Added ReadIDataRecord method for correct handling of default/auto increment values
84         
85         * Added Index.cs: Index implementation
86         * Added Key.cs: Index descriptor implementation
87
88
89 2005-04-27  Sureshkumar T  <tsureshkumar@novell.com>
90
91         * DbDataReader.cs: Added static method to construct the schema
92         table with default schema. Could be reused in many places.
93
94 2005-04-22  Sureshkumar T  <tsureshkumar@novell.com>
95
96         * DbDataAdapter.cs: Moved FillTable and BuildSchema as static
97         methods as they are not operating on the current instance. This
98         could be reused to fill any table from a data reader.
99
100         * RecordCache.cs: While disposing records, make sure that the
101         record is not already disposed. i.e. to make sure later the same
102         record is not reused. Implemented a static method to compare two
103         version of records in a container.
104
105 2005-04-18  Sureshkumar T  <tsureshkumar@novell.com>
106
107         * DataAdapter.cs: Implemenetd OnFillError handler.
108
109         * DbDataAdapter.cs: BuildSchema (): the table to be filled might
110         contain few additional columns as well. so mapping length should
111         be columns' length + fields' length.
112
113 2005-03-24  Sureshkumar T  <tsureshkumar@novell.com>
114
115         * DbDataAdapter.cs: Update: If  SourceColumn is null, do not set
116         value for the parameter.
117
118 2005-05-25 Umadevi S <sumadevi@novell.com>
119         * Added DbException.cs
120
121 2005-03-23  Sureshkumar T  <tsureshkumar@novell.com>
122
123         * DbDataAdapter.cs: For Update, disable ReadOnly constraint
124         temporarily before updating the row. Info from Ingo Bauersachs.
125         SkipAllRemainingRows should also skip current row (msdn).
126
127 2005-03-22  Sureshkumar T  <tsureshkumar@novell.com>
128
129         * DbDataAdapter.cs: Update (): update the rows based on the
130         UpdateRowSource property. Process further based on the
131         RowUpdatedEvent handler argument's Status property.
132         Fixes bug #73587. Thanks to mono@rankweg.ch (Ingo Bauersachs) for
133         bug report and patch.
134
135         * RowUpdatedEventArgs.cs: if custom error is not set, throw a
136         default error.
137
138 2005-03-01  Sureshkumar T  <tsureshkumar@novell.com>
139
140         * ConnectionStringsSectionHandler.cs: Added. configuration section
141         handler for section "connectionStrings". This handler is a ad hoc
142         solution till the new configuration API is available in mono.
143
144 2005-02-04  Sureshkumar T  <tsureshkumar@novell.com>
145
146         * DbDataAdapter.cs (Update ()) :
147         - Check for one return result set and map the values back to
148           datatable.
149         - Check for output & return value parameters and update the value
150           back to mapped column
151         - check for recordsAffected only after closing the reader.
152
153 2005-02-02  Sureshkumar T  <tsureshkumar@novell.com>
154
155         * DbConnection.cs: Implement Dispose pattern.
156
157 2005-01-25  Atsushi Enomoto  <atsushi@ximian.com>
158
159         * DbDataPermission.cs : Empty.Union(Empty) is Empty.
160
161 2005-01-14  Atsushi Enomoto  <atsushi@ximian.com>
162
163         * DbDataPermissionAttribute.cs, PermissionHelper.cs :
164           fixed some incompatible type of exception between 2.0 and 1.x.
165         * DataContainer.cs :
166           Wrap exceptions thrown by SetValue() within ArgumentException.
167
168 2004-12-10  Sureshkumar T  <tsureshkumar@novell.com>
169
170         * DbDataAdapter.cs (BuildSchema): Add the primary key schema iff
171         MissingSchemaAction is set to AddWithKey. Also, Add auto increment
172         value from the source table. fixes bug #67757 and #69110.
173
174 2004-11-24  Sureshkumar T  <tsureshkumar@novell.com>
175
176         * DbProviderSupportedClasses.cs: Added correct enum values.
177         * DbConnection.cs: Missing virtual method EnlistTransaction Added.
178         * DbCommand.cs: Implemented ProviderFactory base factory methods.
179
180 2004-11-22  Sureshkumar T  <tsureshkumar@novell.com>
181
182         * DbConnectionStringBuilder.cs: Class for helping creation of db
183         connection strings added.
184
185 2004-10-01  Sureshkumar T  <tsureshkumar@novell.com>
186
187         * DbProviderFactories.cs: Implemented all the stubs. Added functionality for
188         getting available provider factories and creating a specified provider factory.
189
190         * DbProviderFactoriesConfigurationHandler.cs: Added functionality for handling
191         DbProviderFactories configuration section.
192
193         * DbProviderFactory.cs: Added protected constructor. SupportedClasses property
194         is made abstract.
195
196 2004-09-14  Sebastien Pouliot  <sebastien@ximian.com>
197
198         * DbDataPermission.cs: Implemented Intersect, IsSubsetOf and Union.
199         Implementation isn't complete as the restrictions seems to change the
200         expected results (breaking some rules like x.IsSubsetOf (x) == false).
201         Better (real-world) tests cases are required.
202         * PermissionHelper.cs: Fixed small differences between System.Data.dll 
203         validations wrt to mscorlib.dll (XML and PermissionState).
204
205 2004-09-13  Sebastien Pouliot  <sebastien@ximian.com>
206
207         * DbConnectionOptions.cs: New class for Fx 2.0. Partial implementation
208         to support new methods in DBDataPermission.
209         * DbConnectionString.cs: Updated class to split from/inherit 
210         DbConnectionOptions class.
211         * DbDataPermission.cs: Implemented Add, Clear, Copy, ToXml methods and
212         completed constructors.
213         * DbDataPermissionAttribute.cs: Completed/fixed class.
214         * PermissionHelper.cs: Helper methods to create permission classes.
215
216 2004-08-31 Francisco Figueiredo Jr. <fxjrlists@yahoo.com.br>
217         * 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.
218
219 2004-07-21 Umadevi S <sumadevi@novell.com>
220         * DbDataRecord.cs - Fix for bug 58163. Return DBNull instead of null
221
222 2004-07-07 Umadevi S <sumadevi@novell.com>
223         * DataContainer.cs :CheckedforNull before calling the relavant setmethods in each of the
224                 SetItemForDataRecord method for the DateTimeClass
225
226
227 2004-06-24  Atsushi Enomoto  <atsushi@ximian.com>
228
229         * DataColumnMappingCollection.cs : fixed typo.
230         * DbDataAdapter.cs : column mappings were not filled.
231
232 2004-06-24  Atsushi Enomoto  <atsushi@ximian.com>
233
234         * DataTableMapping.cs : Clone() should also clone ColumnMappings.
235
236 2004-06-18 Umadevi S <sumadevi@novell.com>
237         * DataContainer.cs - CheckedforNull before calling the relavant setmethods in each of the 
238                 SetItemForDataRecord method for all the classes.
239
240 2004-06-17  Boris Kirzner  <borisk@mainsoft.com>
241         * RecordCache.cs : Added CopyRecord mathod that copies single record from one table to another.
242
243 2004-06-17  Boris Kirzner  <borisk@mainsoft.com>
244         * Datacontainer.cs : 
245           - Store and retreival of null and DBNull values reviewed.
246           - Added GetInt64 to support AutoIncrement of DataColumn.
247           - Added missing CopyValue method to BitDataContainer.
248           - Added FillValues method to propagate single value to whole container.
249         
250 2004-06-10 Umadevi S <sumadevi@novell.com>
251         * DataTableMappingCollection.cs - fixed nunit testcase errors
252         IndexOfDataSetTable method
253
254 2004-06-09 Umadevi S <sumadevi@novell.com>
255         * DataTableMappingCollection.cs - fixed nunit testcase errors
256         - Add, GetByDataSetTable,Insert, Remove, RemoveAt methods.
257
258 2004-06-09 Umadevi S <sumadevi@novell.com>
259         * DataColumnMappingCollection.cs - fixed nunit testcase errors
260         - GetByDataSetColumn,IndexOfDataSetColumn, Remove methods.      
261
262 2004-06-08 Umadevi S <sumadevi@novell.com>
263         * DataColumnMappingCollection.cs - fixed nunit testcase errors.
264         - remove, removeat, contains methods.
265
266 2004-06-04  Gert Driesen <drieseng@users.sourceforge.net>
267
268         * DataAdapter.cs: added missing protected ctor
269         * DbDataAdapter.cs: added stub for missing protected ctor
270         * DbDataPermission.cs: added stubs for missing protected
271         ctors, added stub for missing Clear method
272
273 2004-06-02  Gert Driesen <drieseng@users.sourceforge.net>
274        * DataColumnMappingCollection.cs: added missing attributes on
275        indexers
276
277 2004-05-27  Boris Kirzner  <borisk@mainsoft.com>
278         * DataContainer.cs : Bug fixes in BitDataContainer.get_Item and StringDataContainer.SetValue .
279
280 2004-05-20  Gert Driesen (drieseng@users.sourceforge.net)
281
282         *  DbDataPermissionAttribute.cs: change AllowMultiple and
283         Inherited to match .NET
284
285 2004-05-19  Boris Kirzner  <borisk@mainsoft.com>
286         * Datacontainer.cs : CompareValues reviewed. set_Item and get_Item of null and DBNull values in case of DataContainers
287         for primitive types reviewed. Added check for null values when reading from IDataRecord.
288         
289 2004-05-19  Boris Kirzner <borisk@mainsoft.com>
290         * RecordCache.cs - added. Each instance of record cache belongs to specific table
291         and manages pool of records ( indexes into data containers) to be used by data rows.
292         * DataContainer.cs - added. Provides implementation for data containers that holds data in arrays 
293         of primitives or objects. Each data container belongs to specific DataColumn.
294         * DbDataAdapter.cs - changes to complete data storage redesign. Bug fix in FillTable 
295         ( to fetch exact number of records required ).
296         
297 2004-05-13 Umadevi S (sumadevi@novell.com)
298         * DbDataPermissionAttribute.cs - Added KeyRestrictions property with a TODO tag
299
300 2004-05-09  Gert Driesen (drieseng@users.sourceforge.net)
301         * ComparerFactory.cs: marked internal
302
303 2003-04-26  Boris Kirzner <borisk@mainsoft.com>
304         * DataColumnMappingCollection.cs : Small fix in exception message thrown.
305           
306 2003-04-25  Boris Kirzner <borisk@mainsoft.com>
307         * DbDataAdapter.cs : Fixed bug in Fill :
308           - Reader can have empty results (fo example from UPDATE or DELETE).
309           - Reader can have results with no rows (SELECT that returns 0 rows but have columns)
310           - In FillTable - skip rows only once for each table.
311         
312 2003-04-14  Juraj Skripsky <juraj@hotfeet.ch>
313         * DbDataAdapter.cs : Refactoring of Fill. New private method
314         FillTable does most of the work now. Use int[] instead of
315         hashtable for mapping. Move creation of tableArray[] outside
316         of loop.
317
318 2004-03-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
319
320         * DbDataPermissionAttribute.cs: Added .Net 1.1 marks
321         * DataColumnMapping.cs: DO NOT USE the consts scheme if types can be referenced directly!
322         * DataTableMapping.cs: DO NOT USE the consts scheme if types can be referenced directly!
323         * DataColumnMappingConverter: Added stub
324         * DataTableMappingConverter: Added stub
325
326 2004-03-03  Eran Domb  <erand@miansoft.com>
327         
328         * ComparerFactory.cs : Added.
329         
330 2004-01-10  Atsushi Enomoto  <atsushi@ximian.com>
331
332         * DbDataPermission.cs : tiny fix to pass OleDbPermission.
333
334 2004-01-09  Atsushi Enomoto  <atsushi@ximian.com>
335
336         * DbDataPermission.cs : .ctor(PermissionState state) should not call
337           obsolete .ctor(state, allowBlankPassword). csc reports an error.
338
339 2003-12-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
340
341         * DbDataAdapter.cs: handle MissingShemaAction.AddWithKey, call
342         AcceptChanges in Update when a CommandBuilder is used and
343         correctly fill information about primary keys in FillSchema.
344         Patch from Sergei Malinin (smalinin@amurnet.ru).
345
346 2003-12-23  Tim Coleman <tim@timcoleman.com>
347         * DbConnectionString.cs:
348                 Some implementation
349         * DbProviderFactory.cs:
350                 Fix typo to make CLS compliant
351
352 2003-12-16  Jackson Harper <jackson@ximian.com>
353
354         * SchemaTableOptionalColumn.cs: Add to fix default build
355         
356 2003-12-16  Tim Coleman <tim@timcoleman.com>
357         * CatalogLocation.cs DbCommand.cs DbCommandBuilder.cs
358         * DbCommandOptionalFeatures.cs DbCommandSet.cs DbConnection.cs
359         * DbConnectionString.cs DbDataSourceEnumerator.cs
360         * DbDataUpdatableRecord.cs DbParameter.cs DbParameterCollection.cs
361         * DbProviderConfigurationHandler.cs DbProviderFactories.cs
362         * DbProviderFactoriesConfigurationHandler.cs DbProviderFactory.cs
363         * DbProviderSupportedClasses.cs DbTable.cs DbTransaction.cs
364         * GroupByBehavior.cs IdentifierCase.cs SchemaLocation.cs
365         * SchemaTableColumn.cs:
366                 New stubs added for .NET 1.2
367         * DataAdapter.cs DataColumnMapping.cs DataColumnMappingCollection.cs
368         * DataTableMapping.cs DataTableMappingCollection.cs DbDataAdapter.cs
369         * DbDataPermission.cs DbDataPermissionAttribute.cs DbDataRecord.cs
370         * FieldNameLookup.cs SchemaInfo.cs:
371                 Changes made for .NET 1.2
372
373 2003-10-22  Eran Domb  <erand@miansoft.com>
374         * DbDataAdapter.cs : Check if there is mapping to avoid exception.
375
376 2003-11-26  Tim Coleman <tim@timcoleman.com>
377         * DbDataReader.cs: Add new stub class
378
379 2003-11-23  Pedro Martínez Juliá  <yoros@wanadoo.es>
380
381         * DbDataAdapter.cs: Call command dispose in self dispose method. We
382         need to dispose the connections and other stuff stored in the
383         commands.
384
385 2003-11-10  Pedro Martínez Juliá  <yoros@wanadoo.es>
386
387         * DataColumnMappingCollection.cs: Fix a missing exception when the
388         required mapping is not in the collection. MS.NET throws an
389         exception there.
390
391 2003-10-22  Eran Domb  <erand@miansoft.com>
392
393         * DbDataAdapter.cs (Fill): add only the mapped column to the dataTable (not all columns of dataReader).
394             Also closing the dataReader if an exception is thrown.
395         (Fill): the same as above.
396         (SetupSchema): in now return string (the table name). 
397         (GetFillParameters): fix a bug.
398         (BuildSchema) \96 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.
399         (Update): first open the connection if needed. Catch an exception of the ExecuteQuery.
400         
401
402 2003-09-30  Duncan Mak  <duncan@ximian.com>
403
404         Patch from Eran Domb <eran@mainsoft.com>.
405         
406         * DbDataAdapter.cs (Fill): Fixed an Exception from being thrown.
407
408 2003-09-25  Duncan Mak  <duncan@ximian.com>
409
410         * DbDataAdapter.cs (Fill): Patch from Eran Domb, <eran@mainsoft.com>.
411         Fixes a possible NullReferenceException, more details here:
412
413         http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002116.html
414
415 2003-09-21  eran <erand@mainsoft.com>
416
417         * DbDataRecord.cs: The method
418         System.Data.Common.DbDataRecord.GetValues(object[] values) did not
419         put the values of the DbDataRecord into values parameter.
420
421 2003-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
422
423         * DbDataAdapter.cs: provide a Type for ToArray to avoid invalid cast
424         exception. Thanks to Mark Easton <measton@tebiki.co.uk>.
425
426 2003-07-31  Duncan Mak  <duncan@ximian.com>
427
428         * DataAdapter.cs (CloneInternals): Mark with ObsoleteAttribute for
429         NET_1_1.
430
431 2003-03-21  Alan Tam <Tam@SiuLung.com>
432
433         * DbDataAdapter.cs: Update now uses correct DataRowVersion
434         when accessing the data.
435
436 2003-03-17  Aleksey Demakov <avd@openlinksw.com>
437
438         * DbDataAdapter.cs: BuildSchema now uses ColumnName instead
439         of BaseColumnName (bug #39830) for DataColumn names.
440         BaseTableName is no longer taken into account as well.
441
442 2003-02-28  Aleksey Demakov <avd@openlinksw.com>
443
444         * DbDataAdapter.cs: Update (DataSet) updates the default
445         table only.
446
447 2003-02-25  Alan Tam <Tam@SiuLung.com>
448         
449         * DbDataAdapter.cs: Added support for filling when schema is present.
450         Fixed incorrect behavior when ColumnMapping is present
451         when more than one fields have the same name. Implemented Dispose.
452         Fixed error when there is no ColumnMapping at all.
453         Still have some problems in finding the correct TableMapping
454         because the SourceTable name is not present in BuildSchema
455
456 2003-02-24  Aleksey Demakov <avd@openlinksw.com>
457
458         * DbDataAdapter.cs: The original code might pass a null DataTableMapping
459         value which is then used to create a RowUpdatingEventArgs
460         instance. So RowUpdatingEvent handler (for instance
461         CommandBuilder) could get null DataTableMapping which
462         might be unexpected. The patch makes sure that a non-null
463         DataTableMapping is passed.
464
465 2003-01-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
466
467         * DbEnumerator.cs: why does the runtime throw an invalid cast here? The
468         object is an Int16... Gotta fill a bug report and when fixed undo this
469         patch.
470
471 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
472
473         * DbDataRecord.cs: return DbNull.Value in GetValue () if value is null.
474
475 2002-10-31  Daniel Morgan <danmorg@sc.rr.com>
476
477         * SchemaInfo.cs: added missing properties to fix mcs build
478
479 2002-05-05  Miguel de Icaza  <miguel@ximian.com>
480
481         * DataTableMapping.cs, DataTableMappingCollection.cs: comment out
482         interfaces we do not implement yet.
483
484         * DbDataAdapter.cs: Stub IEnumerable, comment out interfaces
485         we do not implement yet.
486
487         * DbDataPermissionAttribute.cs: call base constructor.
488