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