2004-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
[mono.git] / mcs / class / System.Data / System.Data / ChangeLog
1 2004-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
2
3         * DataTable.cs: made _initStatus private so that System.Data is CLS
4         compliant.
5
6 2004-04-13 Umadevi S   <sumadevi@novell.com>
7         *  UniqueConstraint.cs:
8         *  ConstraintCollection.cs:
9         *  DataTable.cs:
10         - Implemented a Constructor for UniqueConstraint.cs
11         - Used  EndInit on DataTable  to call a delegate which adds the
12           constraints passed to the most recent call of AddRange().Used
13           AddRange() on ConstraintCollection to check whether
14           DataTable.BeginInit has occurred.  If yes, save the argument
15           constraint collection passed, then return.  If no, Check whether the
16           constraints are of type UniqueConstraint and initialized with the
17           special constructor  If yes Initialized the table property of this
18           UniqueConstraint object with table assosciated with the current
19           instance of ConstraintCollection class.
20
21 2004-04-07  Marek Safar  <marek.safar@seznam.cz>
22
23         * Constraint.cs: changed ClsCompliant to CLSCompliant, build fix.
24
25 2004-04-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
26
27         * Constraint.cs:
28         * DataColumnCollection.cs:
29         * DataRelationCollection.cs:
30         * DataRowCollection.cs:
31         * DataTableCollection.cs:
32         * InternalDataCollectionBase.cs:
33         * Node.cs: CLS compliance for System.Data. Patch by Gert Driesen.
34         Fixes bug #56557.
35
36 2004-04-05  Jackson Harper  <jackson@ximian.com>
37
38         * DataTable.cs: Add rows to the row list if there is no filter.
39         
40 2004-03-31  Juraj Skripsky <juraj@hotfeet.ch>
41
42         * DataColumn.cs : Setting Caption to null sets it to the empty string
43         (ms.net behaviour, testcase is in DataColumnTest).
44         
45         * DataRow.cs : Evaluate DataColumn.Expression when such a column's
46         value is requested.
47
48 2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>
49
50         * DataColumn.cs: In Expression setter, set the expression member even if 
51           it is an empty string.
52         * DataSet.cs: Support serialization of byte[] columns.
53         * XmlDataLoader.cs: Support deserialization  of Guid columns. 
54           Set MappingType.Attribute to columns infered from attributes.
55
56 2004-03-29  Juraj Skripsky <juraj@hotfeet.ch>
57
58         * ExpressionElements.cs : remove
59         * DataColumn.cs, DataRelationCollection.cs, DataTable.cs :
60         Integration of new Mono.Data.SqlExpressions classes used in
61         DataTable.{Select, Compute}.
62         Fixes bug #55503 and lots of failures in DataTableTest.cs.
63
64 2004-03-28  Juraj Skripsky <juraj@hotfeet.ch>
65
66         * Index.cs: Simple fix in ComparePartialRowNonUnique.
67         This fixes bugs #56129 and #56014.
68
69 2004-03-25 Lluis Sanchez Gual <lluis@ximian.com>
70
71         * DataSet.cs: In WriteXml (string filename, XmlWriteMode mode), close the
72           stream after writing the dataset. This fixes bug #52581.
73           Also added several writer.Close into finally blocks, so writers are properly
74           closed in case of an exception.
75
76 2004-03-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
77
78         * Constraint.cs: DO NOT USE the consts scheme if types can be referenced directly!
79         * DataColumn.cs: DO NOT USE the consts scheme if types can be referenced directly!
80         * ColumnTypeConverter.cs: Added stub
81         * DefaultValueTypeConverter: Added stub
82         * ConstraintConverter.cs: Added stub
83
84 2004-03-04 Eran Domb <erand@mainsoft.com>
85
86         * XmlDataLoader.cs : Xml reading reviewed. Added support for additional xml formats as described
87         in MS.NET documentation (missing DataSet element etc).
88
89 2004-03-04 Eran Domb <erand@mainsoft.com>
90
91         * Node.cs : Added.
92         * Index.cs : Rollback last changes.
93         
94 2004-03-03  Atsushi Enomoto <atsushi@ximian.com>
95
96         * Index.cs : justa build fix.
97
98 2004-03-03 Eran Domb <erand@mainsoft.com>
99         
100         * Index.cs : Added.
101         * Constraint.cs, ForeignKeyConstraint.cs, UniqueConstraint, ConstraintCollection.cs, DataColumn.cs,
102         DataRow.cs, DataRowCollection.cs, DataSet.cs, DataTable.cs : Changes made for using indexes on tables.
103         This changes made for performance improvement.
104
105 2004-02-08 Eran Domb <erand@mainsoft.com>
106
107         * XmlSchemaMapper.cs : Read columns is they were written as SimpleContent or as Attributes.
108
109 2004-02-08 Eran Domb <erand@mainsoft.com>
110
111         * DataSet.cs: Fix some bugs in ReadXml().
112
113 2004-02-04 Lluis Sanchez Gual <lluis@ximian.com>
114
115         * DataSet.cs: Added missing method that broke the build.
116
117 2004-02-04 Eran Domb <erand@mainsoft.com>
118
119         * DataRowCollection.cs (InsertAt): Add a check for null row. Replace check of IndexOf with RowId for
120         better performance.
121         * DataSet.cs (GetTableSchema) : Add supprot for simple content columns. Change the condition for a case
122         when all column are attributes (elements count is 0), we still want to add the relations. No relations
123         can be on simple contents.
124         (AddUniqueConstraints) Check that the column of the constraint are not hidden.
125         (AddForeignKeys) Check that the relation has constraints attach to it.
126         * XmlConstants.cs : Added constant.
127
128 2004-02-04 Eran Domb <erand@mainsoft.com>
129         
130         * DataSet.cs : GetSchemaSerializable() return null and not BuildSchema().
131         DoWriteXmlSchema calls BuildSchema ().
132
133 2004-02-04 Lluis Sanchez Gual <lluis@ximian.com>
134
135         * DataRow.cs: Added SetOriginalValue(), which is used to set the original
136           value of a column.
137         * DataRowCollection.cs: In InsertAt(), perform the correct checks and
138           attach the row.
139         * DataSet.cs: Fixed method GetChanges(): Parent rows of modified rows must
140           also be added to the dataset.
141           In WriteTable(), do not write unchanged rows when writing the original
142           version of the table.
143           Added WriteIndividualTableContent(), for writing the contents of a single
144           table.
145           Changed BuildSchema and related methods, so it can generate a schema for
146           any set of tables, not just the tables of the dataset (needed for 
147           single datatable serialization).
148         * DataTable.cs: Implemented serialization constructor and GetObjectData method.
149           Also implemented some ReadXmlSchema methods.
150         * XmlDiffLoader.cs: Read and process the xml document directly from XmlReader,
151           instead of loading the full dataset in an XmlDocument. It is faster and
152           saves memory. Also fixed several problems when generating the changes.
153         * XmlSchemaMapper.cs: Support reading schemas for single tables (used by
154           table serialization).
155
156 2004-02-02 Eran Domb <erand@mainsoft.com>
157
158         * DataSet.cs : Add indentation to the xml serialization only if we create the XmlWriter.
159         Add the namespace attribute even if namespace is an empty string for inteoperability with MS.NET.
160         * DataTable.cs (NewRow): Create only one DataRowBuilder.
161         Initiate new row with row id -1.
162         * DataRow.cs : Add RowId property.
163         * DataRowBuilder.cs : Add _rowId member.
164         * DataRowCollection.cs (Add) : Use the RowId property of the new row to check if it is already exists in the collection.
165
166 2004-01-26 Eran Domb <erand@mainsoft.com>
167
168         * XmlConstants.cs : Added some constants.
169         * DataColumn.cs : Added a method to retrive AutoIncrement value.
170         * XmlDataLoader.cs : Set the value of the foriegn key column, according to the value of the
171         parent table column.
172         * XmlDiffLoader.cs : Convert the value comming from the xml.
173         * XmlSchemaMapper.cs (Read) : Set the DataSet namespace.
174          (ReadXmlSchemaSequence) : Change the logic that decides if this element is a column or a table.
175          (ReadXmlSchemaElement) : Set the locale of the dataset.
176          (ReadColumn) : Set the column type. Find if the column is AutoIncrement.
177          (GetColumnType) : New method to get the column type from the attribute value.
178          (ReadXmlSchemaUnique) : Improve parsing of XPath. Set the constraint as a PK if needed,
179          and add the constraint to the table.
180          (ReadXmlSchemaKeyref) : Improve parsing of XPath. Create the FK constraint and add it to
181          the table.
182         * DataSet.cs : Improving writing of unique constraints, and foriegn key constraint. Givving them the correct names.
183          Writing more information to the schema for interoperability with ms.net.
184          Improve diffgarm writing mode.
185          
186
187 2004-01-21 Atsushi Enomoto <atsushi@ximian.com>
188
189         * TypedDataSetGenerator.cs : Implemented GenerateIdName().
190
191 2004-01-21 Eran Domb <erand@mainsoft.com>
192
193         * XmlDataLoader.cs (AddRowToTable) : Give thre new relation correct name.
194         Do not set the child column to be AutoIncrement.
195         Create the new column for the relation as MappingType.Hidden so they will not be serialized
196         when writing the dataset to xml.
197
198 2004-01-20 Atsushi Enomoto <atsushi@ximian.com>
199
200         * Added missing TypedDataSetGenerator.cs.
201
202 2004-01-08 Eran Domb <erand@mainsoft.com>
203
204         * XmlSchemaMapper.cs : Fix a bug. Check if table already in DataSet before adding it.
205         * DataSet.cs (ReadXml) : Fix bugs. Read correctly the xml file with XmlReadMode of DiffGram, 
206         InferSchema, ReadSchema and IgnoreSchema.
207         * XmlDataLoader.cs : All modes use the same logic.
208         * XmlDiffLoader.cs : Adding BuildXmlDocument method to the class.
209
210 2004-01-06 Eran Domb <erand@mainsoft.com>
211
212         * DataRelationCollection.cs : Use IndexOf in indexer.
213         * DataSet.cs : Adding support for WriteXml with diffgram. Code style changes.
214         * XmlDataLoader.cs : Set the DataSet.enforceConstraints to false before loading the tables.
215         * XmlDiffLoader.cs : Reading nested tables.
216         * XmlSchemaMapper.cs : Reading the relation.
217         * XmlConstants.cs : Adding some constants.
218
219 2004-01-05  Jackson Harper <jackson@ximian.com>
220
221         * DataView.cs: Set readonly property of property descriptor. This
222         fixes bug #52598.
223         
224 2004-01-01  Sanjay Gupta <gsanjay@novell.com>
225
226         * DataRelationCollection.cs : Fixed incorrect generation of default 
227           Relation name.
228         * DataSet.cs : Added missing functionality in WriteXml().
229         * XmlConstants.cs : Added new constants.
230  
231 2003-12-27  Atsushi Enomoto <atsushi@ximian.com>
232
233         * DataSet.cs : Fixed incorrect WriteXml() signature.
234
235 2003-12-18  Jackson Harper <jackson@ximian.com>
236
237         * DataView.cs: Implement AddNew, Delete, and OnListChanged.
238         
239 2003-12-17  Atsushi Enomoto <atsushi@ximian.com>
240
241         * DataSet.cs, XmlDataLoader.cs : Table name should be encoded before
242           they take shape of xml. This fixed bug #52240
243
244 2003-12-16  Tim Coleman <tim@timcoleman.com>
245         * KeyRestrictionBehavior.cs:
246                 New stubs added for .NET 1.2
247         * DataTable.cs:
248                 Changes for 1.2
249
250 2003-12-08 Eran Domb <erand@mainsoft.com>
251         * DataColumn.cs (Expression) : Validate the expression.
252         
253         * DataRelationCollection.cs (IndexOf) : Added new method sensetive to case differences in relation name.
254         (Contains, IndexOf, this[], Add) : Call new IndexOf when needed.
255         
256         * DataRow.cs (this[]) : Fix the condition for throwing RowNotInTableException.
257         (RejectChanges) : Detach row when state was Added.
258         (CollectionChanged) : Fix a bug.
259         
260         * ExpressionElement (ValidateExpression) : Fix a bug.
261         
262         * ForeignKeyConstraint.cs (AssertConstraint) : Added implementation. Check all rows from child table have
263         a parent row in the parent table.
264         (_validateColumns) : Fix bugs.
265         
266         * MergeManager.cs (AdjustSchema) : Fix a bug.
267         
268         * XmlDataLoader.cs (ReadModeInferSchema) : Change implementation. Now we can read nested xml, and we generate the relations
269         between the tables.
270
271 2003-11-30 Eran Domb <erand@mainsoft.com>
272         * DataColumnCollection.cs (this[string name]) : Use IndexOf to find the column.
273         (Add) : Find if the new column name is the same as the one found in IndexOf.
274         (IndexOf) : New method.
275         (Contains) : Use new IndexOf.
276         (IndexOf) : Use new IndexOf.
277         
278         * DataRelationCollection.cs (DataRelationCollection.AddCore) : Add The Relation to the collection.
279         (DataSetRelationCollection.AddCore) : First add the UniqueConstraint.
280         
281         * DataRow.cs (this[int columnIndex, DataRowVersion version]) : Change exceptions.
282         (Delete) : Detach row if the RowState was Added.
283         (GetChildRows) : Get the array form the ChildTable.
284         (GetParentRows) : Get the array from the ParenTable.
285         
286         * DataRowCollection.cs (Remove) : Check if row state is Detached to avoid exception.
287         
288         * DataSet.cs (IXmlSerializable.ReadXml) : Do not call MoveToContent and ReadEndElement - the XmlSerializationReader does it.
289         
290         * DataTable.cs (PrimaryKey) : Fix bugs.
291         (Compute) : First call Select. Then create ExpressionAggregate to aggregate the Select result.
292         
293         * DataTableCollection.cs (Add) : Fix a bug.
294         
295         * ExpressionElement.cs (ValidateExpression) : Turning ValidateExpression to static.
296         (Result) : Added new interface to AggregateExpression that get DataRow[] as a param.
297         Some code style changes (tab instead of whit spaces, alignment, etc...).
298         
299         * ForeignKeyConstraint.cs (_validateColumns) : Throw correct exception.
300         
301         * MergeManager.cs (AdjustSchema) : Fix a bug.
302         
303         
304
305 2003-11-26  Miguel de Icaza  <miguel@ximian.com>
306
307         * DataSet.cs: Add a few more missing methods, code style updated
308         to Mono style.
309
310 2003-11-26  Tim Coleman <tim@timcoleman.com>
311         
312         * ConflictOptions.cs DataAdapterException.cs DataTableReader.cs
313         * DbMetaData.cs FillOptions.cs IDataReader2.cs IDataRecord2.cs
314         * IDataUpdatableRecord.cs IDbAsyncCommand.cs IDbAsyncConnection.cs
315         * IDbExecutionContext.cs IGetTypedData.cs ISetTypedData.cs
316         * LoadOption.cs OperationAbortedException.cs ResultSetOptions.cs
317         * ResultSetSensitivity.cs StatementCompletedEventArgs.cs 
318         * StatementCompletedEventHandler.cs UpdateOptions.cs:
319                 New classes added for NET_1_2
320         * DBConcurrencyException.cs DataRelation.cs DataSet.cs DataTable.cs
321         * DataTableCollection.cs DataView.cs ForeignKeyConstraint.cs:
322                 Modifications to add new NET_1_2 functions
323
324 2003-11-25  Tim Coleman <tim@timcoleman.com>
325         * IDataSources.cs:
326                 New 1.2 class added
327
328 2003-11-21  Pedro Martínez Juliá  <yoros@wanadoo.es>
329
330         * DataRow.cs: Detached row can be accesible (new rows from data
331         table are detached). Closes but #51263.
332
333 2003-11-19  Eran Domb  <erand@mainsoft.com>
334         * DataRow.cs : Throw exceptions if Row is Detached. 
335         (EndEdit) : Check that we are not in middle of ChangeEvent.
336         (AcceptChanges) : Detach the row.
337         
338         * DataRelation.cs : throw correct exception.
339         *UniqueConstraint.cs : throw correct exception.
340         
341
342 2003-11-09  Pedro Martínez Juliá  <yoros@wanadoo.es>
343
344         * DataRow.cs: Use RemoveInternal instead of Remove because the last
345         one uses Delete and AcceptChanges.
346
347         * DataRowCollection.cs: When removing, Delete and AcceptChanges
348         method from the row are called. Added an internal method that will
349         be used by DataRow to "physically" remove the row from the list.
350
351 2003-11-09  Pedro Martínez Juliá  <yoros@wanadoo.es>
352
353         * DataRowCollection.cs: To follow the specification: Remove and
354         RemoveAt should remove the row. But needed to call DeletingDataRow
355         to prepare the deleting.
356
357         * DataRow.cs: Don't call DeletingDataRow when it is called by the
358         method Table.Rows.Remove.
359
360 2003-11-09  Pedro Martínez Juliá  <yoros@wanadoo.es>
361
362         * DataRowCollection.cs: Make the row be deleted by itself. If not,
363         it fails because we need to call OnRowDeleting and OnRowDeleted. It
364         is full implemented inside DataRow.
365
366 2003-11-05  Eran Domb  <erand@mainsoft.com>
367         * DataView.cs (ctor) : Changing default RowStateFilter to CurrentRow.
368
369 2003-11-04  Eran Domb  <erand@mainsoft.com>
370         * DataRow.cs (CheckChildRows) : Improving the implementation - checking child for all FK, and not
371         on all Relations.
372         (GetChildRows) : Adding some checks.
373         (GetParentRows) : Adding some checks. Fix a bug in implementation.
374         (SetParentRow) : Added implementation.
375         
376         * DataRowCollection.cs (Add) : Added more checks on the row added to the collection.
377         * DataTable.cs (Copy) : Set the During Loading flag to save unnecessary assertions.
378         * ForeignKeyConstraint.cs (AssertConstraint) : Fixing bugs in implementation. Checking for DBNull values in the row.
379         * MergeManager.cs : Check that the target table is not null.
380
381 2003-10-27  Eran Domb  <erand@mainsoft.com>
382         * DataColumn.cs (DefaultValue) : Changing null value to DBNull. Checking that the type of the new default value 
383         can be converted to the column type.
384         
385         * DataRelationCollection.cs (AddCore) : Give the new FK the name of the relation.
386         
387         * DataRow.cs (EndEdit) : Check if we need to validate the constraints.
388         (GetParentRows, GetChildRows) : Checking that the row has the wanted version, before accessing the row's value.
389         
390         * DataRowCollection.cs (Add) : Fixing a bug. 
391         (Clear) : Before clearing the array check that there is no violation of FK constraint.
392         
393         * DataSet.cs (Prefix) : If value is null chage it to empty string.
394         (GetXml) : Removing the Processing Instructions from the xml string as in MS ADO.NET.
395         
396         * ExpressionElement : Adding support for IN expresion.
397         
398         * DataTable (CopyConstraints) : New method that copy the tables constraints to the copy table.
399         (Select) : Adding support for DataViewwRowState.
400         
401         * ForeignKeyConstraint.cs (AssertConstraint) : Adding implementation.
402         
403         * MergeManager.cs (MergeRow) : Fix bugs.
404         
405 2003-10-27  Eran Domb  <erand@mainsoft.com>
406         * DataRow.cs (SetColumnValue): Donot check null value when in midle of loading data.
407         check null values when ending loading data.
408         
409         * DataSet.cs (RejectChanges) : Imlementation.
410         (Prefix) : If prefix was changed fire event. Check that the prefix is not null - if null, 
411         change it to empty string.
412         
413         * DataTable.cs (BeginLoadData, EndLoadData) : Impemantation.
414         
415 2003-10-22  Eran Domb  <erand@mainsoft.com>
416         * MergeManager.cs : Fixing bugs. Adding check for PrimaryKey matching.
417         
418         * ConstraintCollection.cs (RamoveAt): Change implemntation.
419         
420         * DataTableCollection (CanRemove): Removing cast to Constraint.
421
422 2003-10-22  Eran Domb  <erand@mainsoft.com>
423         * DataRelationCollection.cs (AddCore): The unique constraint was added even if the createConstraints flag was false.
424         (Clear): The collection was cleared without removing the relation from the parent and child tables.
425         
426         * DataSet.cs (Copy, Clone): The Relations of the DataSet were not copy.
427         (HasChanges, Reset): Imlementation.
428         
429         * DataTable.cs (HasErrors): There is no flag for errors, instead the table ask her row if they have any errors.\r
430         This is because the we do not no when to turn off the flag.
431         (Locale): Changing implementation to behave like ADO.NET.
432         (AcceptChanges): Fix bug.
433         (Clear): Check that this table is not referenced from a foreign key constraint.
434         (Copy): Do not try to access a deleted row.
435         (CopyProperties): Copy the PrimaryKey.
436         (GetChanges, ImportRow): Implementation.
437         (LoadDataRow): Adding implementation if the table has PrimaryKey.
438         (ToString): Changing implementation to behave like ADO.NET.
439         
440         * UniqueConstraint.cs (AssertConstraint): support for Multiple DataColumns in the constraint.
441         
442         * DataRow.cs (Ctor): In the constructor we initiate the current array, but we should initiate only the proposed array for new rows.
443         (HasErrors): Implementation.
444         (Delete): Added checking for child rows of the deleted row.
445         (EndEdit): Added checking for child row and firing events.
446         (GetColumnError): Added a check that the method will not return null, as in ADO.NET(an empty string is returned).
447         (GetColumnsInError): Added a check for null values in column error.
448         (HasVersion): Added special treatment for special RowState.
449         (CollectionChanged): More checks to avoid NullReferenceException.
450         
451         * DataRowCollection.cs (Remove): Fix a bug.\r
452
453
454 2003-10-01  Duncan Mak  <duncan@ximian.com>
455
456         More patches from Eran Domb <erand@mainsoft.com>.
457
458         * MergeManager.cs: New file.
459
460         * DataRelationCollection.cs (AddCore): Check that a
461         UniqueConstraint is already exists. It loops over the Relations
462         instead of the Constraints.
463         (Add, AddCore): The relation was added twice.
464
465         * DataSet.cs (Merge, GetChanges, HasChanges): Implemented.      
466
467 2003-09-30  Duncan Mak  <duncan@ximian.com>        
468
469         Patches from Eran Domb <erand@mainsoft.com>.
470
471         * DataRelation.cs (constructor): When the name of the relation is
472         null, it should return an empty, not "Relation".
473         
474         * DataRow.cs (AcceptChanges): Added special case for
475         RowState.Detached.
476         (CancelEdit): Set editing flag to false.
477         (IsNull): Check that the value is DBNull.
478
479         * DataRowCollection.cs (Add): There was no check that the table of
480         the collection is owned by a DataSet.
481
482         * DataSet.cs (OnMergeFailed): Added.    
483
484         * UniqueConstraint.cs (AssertConstraint): There was no check that
485         values in the row are not null, where it is a primary key
486         column. Also check that the row has a proposed version, if not,
487         get the current version when we compare the rows.
488
489 2003-09-25  Duncan Mak  <duncan@ximian.com>
490
491         Patches from Eran Domb <erand@mainsoft.com>.
492
493         * DataColumn.cs (Unique): Implemented.
494         
495         * DataTable.cs:
496         * ConstraintCollection.cs:
497         * ForeignKeyConstraint.cs (_ensureUniqueConstraintExists): Fixes
498         an Exception thrown. Details:
499         http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002130.html
500         
501         * DataRowCollection.cs (Add): There is no checking that there is
502         no violation of the unique constrains.
503
504         * UniqueConstraint.cs (AssertConstraint): There is no checking on
505         all columns in the constraint.
506
507         * DataTableCollection (Add): Correctly throw an Exception, more
508         details here:
509         http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002117.html
510         (Remove, RemoveAt): Implemented.
511
512 2003-07-31  Duncan Mak  <duncan@ximian.com>
513
514         * DBConcurrencyException.cs: Added new NET_1_1 no-param constructor.
515
516 2003-07-25  Ravi Pratap  <ravi@ximian.com>
517
518         * DataRelation.cs (OnPropertyChanging): Calling the 'Invoke'
519         method on a delegate is disallowed - fix this.
520
521 2003-07-22  Lluis Sanchez Gual  <lluis@ximian.com>
522
523         * DataSet.cs: Implemented IXmlSerializable interface. Added basic support for
524           xml serialization. Modified method of writing schema. Now it creates
525           a XmlSchema object and serializes it using XmlSerializer.
526         * XmlConstants.cs: Added constants for data type names.
527         * XmlDataLoader.cs: Fixed deserialization of data. Now converts data to the
528           type specified in the column.
529
530 2003-04-20  Alan Tam <Tam@SiuLung.com>
531
532         * DataRelationCollection.cs: Fix a bug that prevent relations
533         from being added via DataSet.
534
535 2003-04-12  Ville Palo <vi64pa@kolumbus.fi>
536
537         * UniqueConstraint.cs: one tiny fix.
538         
539 2003-04-05  Ville Palo <vi64pa@kolumbus.fi>
540
541         * DataTable.cs: Remove UniqueConstraints when adding new ones
542         
543 2003-04-04  Ville Palo <vi64pa@kolumbus.fi>
544
545         * DataColumnCollection.cs: Little 'case sensitive' fix
546         
547 2003-04-04  Ville Palo <vi64pa@kolumbus.fi>
548
549         * DataRow.cs: AutoIncrement handling to Constructor
550         * DataRowCollection.cs: This doesnt need anymore AutoIncrements
551         
552 2003-03-27  Ville Palo <vi64pa@kolumbus.fi>
553
554         * DataTable.cs: Some fixes to PrimaryKey etc...
555         * UniqueConstraint.cs: Little clean up
556         
557 2003-03-27  Ville Palo <vi64pa@kolumbus.fi>
558
559         * DataTable.cs: Tiny fix to ToString () -method
560         
561 2003-03-27  Ville Palo <vi64pa@kolumbus.fi>
562
563         * ConstraintCollection.cs: Little fix.
564         * DataColumn.cs: Added new internal method SetUnique()
565         * UniqueConstraint.cs: some little fixes
566         
567 2003-03-26  Ville Palo <vi64pa@kolumbus.fi>
568
569         * DataRowCollection.cs: Bugfixes, implementation,...
570         
571 2003-03-26  Ville Palo <vi64pa@kolumbus.fi>
572
573         * DataColumn.cs: If DataType if set to something else than short, int
574         or long and AutoIncrement is true, AutoIncrement is must set to false.
575         
576 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
577
578         * DataRow.cs:
579         (BeginEdit): fixed array bound problem when a column has been added.
580         (EndEdit): just assign proposed to current as proposed is set to null.
581         This also fixes another array boudn problem.
582
583 2003-03-21  Alan Tam <Tam@SiuLung.com>
584
585         * DataRow.cs: Fixed problems in accessers, BeginEdit, CancelEdit,
586         EndEdit and AcceptChanges to act correctly according to DataRowState
587         and DataRowVersion.
588         * DataRowCollection.cs: Call AttachRow and DetachRow when a row is
589         attached and detached from the collection.
590
591 2003-03-20  Alan Tam <Tam@SiuLung.com>
592
593         * DataColumn.cs: Store empty string for Expression when null is passed in.
594         Classes generated by XSD.exe passes null by default.
595
596 2003-03-16  Ville Palo <vi64pa@kolumbus.fi>
597
598         * DataColumnCollection.cs: Tiny clean up
599
600 2003-03-16  Ville Palo <vi64pa@kolumbus.fi>
601
602         * DataColumn.cs: little fixes.
603         * DataColumnCollection.cs: Lots of little fixes and improvments.
604         
605 2003-03-12  Alan Tam <Tam@SiuLung.com>
606
607         * DataSet.cs: Fixed a bug that the file written does not close correctly.
608
609 2003-03-08  Alan Tam <Tam@SiuLung.com>
610
611         * DataRelationCollection.cs: Removed the mis-overridden methods
612         * DataRow.cs: Fixed an attribute
613         * DataSet.cs: Fixed the modifiers
614
615 2003-03-06  Aleksey Demakov <avd@openlinksw.com>
616
617         * DataTableCollection.cs: The Contains (string name),
618         IndexOf (string name) methods, and item[string name] indexer
619         now behave more like .NET with respect to case-sensitivity.
620         That is if there is an exactly matching item then this one is used.
621         If there is only one item differing in case then it used.
622         If there are more than one item differing in case then
623         Contains returns false, IndexOf returns -1, and item[]
624         throws an ArgumentException.
625
626 2003-02-28  Ville Palo <vi64pa@kolumbus.fi>
627
628         * ExpressionElement.cs: More implementation. 
629         
630 2003-02-28  Alan Tam <Tam@SiuLung.com>
631         * DataSet.cs: Changed WriteTable so that it now calls the newly written
632         WriteObjectXml to direct the call to the respective XmlConvert method.
633         This fixes the wrong format written to XML files of bool, float,
634         double, DateTime and TimeSpan types.
635
636 2003-02-25  Alan Tam <Tam@SiuLung.com>
637
638         * DataRelation.cs: Added SetDataSet for DataSetRelationCollection to use.
639         * DataRelationCollection.cs: Implemented AddRange and Contains.
640         Implemented AddRange, Clear, List and RemoveCore for DataSetRelationColletion.
641         Implemented AddCore, List and RemoveCore for DataTableRelationCollection.
642         Reimplemented most Add methods to eliminate duplicated checks.
643         Centralized RelationName generation procedure in GetNextDefaultRelationName.
644
645 2003-02-25  Alan Tam <Tam@SiuLung.com>
646
647         * DataColumn.cs: Fixed wrong storage representation of Expression
648         (using empty string instead of null) so that ToString() returns nothing.
649         * DataColumnCollection.cs: Reimplemented GetNextDefaultColumnName so that
650         auto column naming now works as expected. Reimplemented some Add methods
651         to eliminate code duplication.
652
653 2003-02-19  Ville Palo <vi64pa@kolumbus.fi>
654
655         * DataTable.cs: DataTable.CaseSensitive follows parent 
656         DataSet.CaseSensitive property if DataTable.CaseSensitive has never
657         been changed directly from DataTable
658         
659 2003-02-19  Ville Palo <vi64pa@kolumbus.fi>
660
661         * DataSet.cs: When CaseSensitive property is changed all of the Tables
662         of DataSet have to change too
663         
664 2003-02-19  Daniel Morgan <danmorg@sc.rr.com>
665
666         * InternalDataCollectionBase.cs: revert change to field
667         to fix build
668         
669         * DataViewManager.cs
670         * DataView.cs
671         * DataTable.cs
672         * DataSet.cs: commented use of DesignerAttribute
673         because it broke the build.  According to MSDN,
674         DesignerAttribute does not have a zero-argument constructor
675
676 2003-02-18  Ville Palo <vi64pa@kolumbus.fi>
677
678         * DataColumnCollectin.cs: Little fix for indexer and case sensitivity
679         
680 2003-02-18  Alan Tam <Tam@SiuLung.com>
681
682         * DataRow.cs: Implemented GetParentRow and GetParentRows.
683         * DataSet.cs: Added stub for HasChanges, InferXmlSchema,
684                       OnPropertyChanging, OnRemoveRelation, OnRemoveTable,
685                       RaisePropertyChanging.
686         * DataTable.cs: Implemented NewRowArray.
687         * DataTablePropertyDescriptor: Fixed a modifier.
688         * InternalDataCollectionBase.cs: Fixed modifiers. Implemented SyncRoot.
689         * PropertyCollection.cs: Minor fix.
690         * ConstraintCollection.cs DataColumn.cs DataColumnCollection.cs 
691         * DataRelation.cs DataRelationCollection.cs DataRow.cs
692         * DataRowCollection.cs DataRowState.cs DataSet.cs DataTable.cs
693         * DataTableCollection.cs DataTablePropertyDescriptor.cs DataView.cs
694         * DataViewManager.cs DataViewRowState.cs DataViewSettingCollection.cs
695         * ForeignKeyConstraint.cs InternalDataCollectionBase.cs
696         * PropertyCollection.cs UniqueConstraint.cs: Added missing attributes
697         
698 2003-02-08  Ville Palo <vi64pa@koti.soon.fi>
699
700         * ExpressionElement.cs: More implementation
701         
702 2003-02-05  Alan Tam <Tam@SiuLung.com>
703
704         * DataSet.cs: Added framework for DataSet.Update Implemented missing 
705         methods GetSchemaSerializable, GetSerializationData, 
706         ReadXmlSerializable, ShouldSerializeRelations and ShouldSerializeTables
707         for DataSet
708         * DataTable.cs: Implemented missing methods CreateInstance and 
709         GetRowType for DataTable
710         
711 2003-02-03  Ville Palo <vi64pa@koti.soon.fi>
712
713         * DataSet.cs: Implemented private method MapType for 
714         mapping datatypes for XmlSchema
715         
716 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
717
718         * DataView.cs: implemented Dispose.
719
720 2003-01-30  Ville Palo <vi64pa@koti.soon.fi>
721
722         * ExpressionElement.cs: Added new file. This file is for parsing
723           and DataData.Select () -methods and DataColumn.Expression -property
724         * DataTable.cs: Implemented Select(string) -method      
725         
726 2003-01-28  Ville Palo <vi64pa@koti.soon.fi>
727
728         * DataSet.cs: One little fix to writing xml
729         
730 2003-01-27  Ville Palo <vi64pa@koti.soon.fi>
731
732         * XmlSchemaMapper.cs: Some fixes.
733         * DatSet.cs: Some XmlFixes and BeginInit ()/ EndInit () -fix
734
735                 
736 2003-01-24  Ville Palo <vi64pa@koti.soon.fi>
737
738         * UniqueConstraint.cs: Do not set columns Unique property true 
739         as a default.
740         * ForeignKeyConstraint.cs: Add UniqueConstraint to parent Table
741         
742 2003-01-18  Ville Palo <vi64pa@koti.soon.fi>
743
744         * DataTableCollection.cs: Now names new DataTable if it doesn't 
745         already have a name.
746         
747 2003-01-17  Ville Palo <vi64pa@koti.soon.fi>
748
749         * XmlSchemaMapper.cs: Improvments.
750         * XmlConstaints.cs: Added more constants.
751         * DataSet.cs: Improvments of reading and writing xml
752         * DataColumn.cs: Added default values of properties.
753                 
754 2003-01-14  Ville Palo <vi64pa@koti.soon.fi>
755
756         * XmlSchemaMapper.cs: Some improvments
757         
758 2003-01-13  Ville Palo <vi64pa@koti.soon.fi>
759
760         * DataRowCollection.cs: Added IndexOutOfRangeException
761         * DataTableCollection.cs: Added OnCollectionChanging and 
762         OnCollectionChanged events.
763         * DataSet.cs: Many fixes. Implemented Clone () and Copy () -methods
764         * DataTable.cs: Implemented Copy () and Clone () methods.
765         * XmlDataLoader.cs: some fixes.
766         * XmlSchemaMapper.cs: comments.
767         
768 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
769
770         * DataColumnPropertyDescriptor.cs: store columnIndex in the .ctor.
771
772 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
773
774         * DataColumnPropertyDescriptor.cs: fixed typo.
775         * DataViewManagerListItemTypeDescriptor.cs: added new internal property
776         to get the DataViewManager and removed TablePD class.
777         * DataTablePropertyDescriptor.cs: TablePD class is now this one as
778         suggested by danmorg.
779
780 2003-01-06  Ville Palo <vi64pa@koti.soon.fi>
781
782         * XmlDataLoader.cs: Moved diffgram stuff to new internal class
783         XmlDiffLoader.
784         * XmlDiffLoader.cs: new class for diffgrams. Added handling of 
785         diffgr:Errors and some fixes and changed XmlReader to XPathNavigator.
786         
787 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
788
789         * DataView.cs: made dataViewManager internal.
790         * DataViewManager.cs: use ICustomTypeDescriptor. We don't want the
791         properties of the object, but the values of the columns present in a
792         row.
793         
794         * DataViewManagerListItemTypeDescriptor.cs: implemented GetProperties,
795         which returns a PropertyDescriptorCollection. Created a new class
796         derived from PropertyDescriptor that treats Table as an object whose
797         properties are DataRowView.
798
799 2003-01-04  Ville Palo <vi64pa@koti.soon.fi>
800
801         * XmlSchemaMapper.cs: Added handling for Constraints, Attributes.
802         
803 2003-01-04  Ville Palo <vi64pa@koti.soon.fi>
804
805         * DataColumn.cs: ExtendedProperties is by default !null-
806         
807 2003-01-04  Ville Palo <vi64pa@koti.soon.fi>
808
809         * DataColumnCollection.cs: Add (DataColumn Column) -method didn't 
810         set column's ordinal.
811         
812 2003-01-02  Ville Palo <vi64pa@koti.soon.fi>
813
814         * DataSet.cs: 
815         * XmlDataLoader.cs: XmlReader closing fixes.
816         * XmlSchemaReader.cs: Added support for ref=
817         
818 2003-01-01  Ville Palo <vi64pa@koti.soon.fi>
819
820         * DataSet.cs: 
821           - Added XmlReader and XmlWriter Closing.
822           - Moved ReadXmlSchema stuff to new internal class XmlSchemaMapper.
823         * XmlSchemaMapper.cs
824           - Much better way IMHO  to map xmlschema than the old one in 
825             DataSet.cs. Its, more flexible, cleaner, ...
826                         
827 2002-12-29  Ville Palo <vi64pa@koti.soon.fi>
828
829         * XmlDataLoader.cs: Reading diffgrams.
830         
831 2002-12-29  Ville Palo <vi64pa@koti.soon.fi>
832
833         * DataRow.cs: Little fix to indexer and DataColumnCang* trigger fixes.
834         * DataTable.cs: Added ChanginDataColumn () for triggering 
835         DataColumnChanging event
836         
837 2002-12-28  Ville Palo <vi64pa@koti.soon.fi>
838
839         * DataSet.cs: Indentations to WriteXmlSchema () and one little fix
840         
841 2002-12-28  Ville Palo <vi64pa@koti.soon.fi>
842
843         * DataSet.cs: Indentations to WriteXml ()
844         
845 2002-12-27  Ville Palo <vi64pa@koti.soon.fi>
846
847         * DataSet.cs:
848         * XmlDataLoader.cs: Moved ReadXml -stuff from DataSet.cs to new
849         class XmlDataLoader.cs
850         
851 2002-12-19  Ville Palo <vi64pa@koti.soon.fi>
852
853         * DataSet.cs Implemented ReadXml with XmlReadMode.ReadSchema
854         
855 2002-12-18  Ville Palo <vi64pa@koti.soon.fi>
856
857         * DataSet.cs: Started to implement ReadXml-methods.
858         
859 2002-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
860
861         * DataSet.cs: implemented DefaultViewManager and GetList.
862
863         * DataViewManager.cs: a bit of work on IList and ITypedList needed by
864         DataList in System.Web.
865
866         * DataViewManagerListItemTypeDescriptor.cs: custom type descriptor for
867         DataViewManager.
868
869 2002-12-16  Ville Palo <vi64pa@koti.soon.fi>
870
871         * DataRow.cs
872         * DataTable.cs: Fixed NullException (rollback -event)
873         * DataSet.cs: WriteXml -method does not anymore write <?xml... row.
874         
875 2002-12-15  Ville Palo <vi64pa@koti.soon.fi>
876
877         * DataRow.cs:
878         * DataRowCollection.cs: Moved event triggering from DataRow to
879         DataRowCollection.
880         
881 2002-12-09  Ville Palo <vi64pa@koti.soon.fi>
882
883         * DataSet.cs: Little fix to WriteTable () -method 
884         and DoReadXmlSchema () -method.
885         
886 2002-12-06  Ville Palo <vi64pa@koti.soon.fi>
887
888         * DataSet.cs: Clean up to reading xmlschema. This looks much better 
889         now (work better too), but it not working correctly yet.
890         
891 2002-12-04  Ville Palo <vi64pa@koti.soon.fi>
892
893         * DataRow.cs: 
894         * DataRowCollection.cs: Added some event handlins stuff.
895         * DataSet.cs: Some fixes.
896         * DataTable.cs: Added event handlers.
897         
898 2002-11-30  Ville Palo <vi64pa@koti.soon.fi>
899
900         * DataRowChangeEventArgs.cs: Implemented Action and Row properties 
901         
902 2002-11-30  Ville Palo <vi64pa@koti.soon.fi>
903
904         * System.Data/DataRow.cs: Added internal property XmlDataID
905         
906 2002-11-29  Ville Palo <vi64pa@koti.soon.fi>
907
908         * DataSystem.Data.DataTableCollection.cs:
909         Removed HashTable. There could be situations where DataTable
910         is added to collection before it hava TableName. So using 
911         HashTable is impossible.
912         
913 2002-11-19  Carlos Guzmán Álvarez <carlosga@telefonica.net>
914
915         * DataRow.cs: an object that is equal to null 
916         should be allowed to be set in this indexer too
917         to be like .NET
918
919 2002-11-06  Daniel Morgan <danmorg@sc.rr.com>
920
921         * DataColumnPropertyDescriptor.cs: added file
922         
923         * System.Data/DataRowView.cs: started implementation
924         
925         * DataTable.cs: stubbed more interfaces.  Implemented
926         IListSource.GetList()
927         
928         * DataView.cs: stubbed more interfaces.  Implemented
929         some properties and methods: GetEnumerator(), 
930         ITypedList.GetItemProperties, Item indexer, CopyTo()
931
932 2002-05-18  Nick Drochak  <ndrochak@gol.com>
933
934         * DataRow.cs: Fix typo.