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