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