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