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