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