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