1 2003-11-09 Pedro Martínez Juliá <yoros@wanadoo.es>
3 * DataRow.cs: Use RemoveInternal instead of Remove because the last
4 one uses Delete and AcceptChanges.
6 * DataRowCollection.cs: When removing, Delete and AcceptChanges
7 method from the row are called. Added an internal method that will
8 be used by DataRow to "physically" remove the row from the list.
10 2003-11-09 Pedro Martínez Juliá <yoros@wanadoo.es>
12 * DataRowCollection.cs: To follow the specification: Remove and
13 RemoveAt should remove the row. But needed to call DeletingDataRow
14 to prepare the deleting.
16 * DataRow.cs: Don't call DeletingDataRow when it is called by the
17 method Table.Rows.Remove.
19 2003-11-09 Pedro Martínez Juliá <yoros@wanadoo.es>
21 * DataRowCollection.cs: Make the row be deleted by itself. If not,
22 it fails because we need to call OnRowDeleting and OnRowDeleted. It
23 is full implemented inside DataRow.
25 2003-11-05 Eran Domb <erand@mainsoft.com>
26 * DataView.cs (ctor) : Changing default RowStateFilter to CurrentRow.
28 2003-11-04 Eran Domb <erand@mainsoft.com>
29 * DataRow.cs (CheckChildRows) : Improving the implementation - checking child for all FK, and not
31 (GetChildRows) : Adding some checks.
32 (GetParentRows) : Adding some checks. Fix a bug in implementation.
33 (SetParentRow) : Added implementation.
35 * DataRowCollection.cs (Add) : Added more checks on the row added to the collection.
36 * DataTable.cs (Copy) : Set the During Loading flag to save unnecessary assertions.
37 * ForeignKeyConstraint.cs (AssertConstraint) : Fixing bugs in implementation. Checking for DBNull values in the row.
38 * MergeManager.cs : Check that the target table is not null.
40 2003-10-27 Eran Domb <erand@mainsoft.com>
41 * DataColumn.cs (DefaultValue) : Changing null value to DBNull. Checking that the type of the new default value
42 can be converted to the column type.
44 * DataRelationCollection.cs (AddCore) : Give the new FK the name of the relation.
46 * DataRow.cs (EndEdit) : Check if we need to validate the constraints.
47 (GetParentRows, GetChildRows) : Checking that the row has the wanted version, before accessing the row's value.
49 * DataRowCollection.cs (Add) : Fixing a bug.
50 (Clear) : Before clearing the array check that there is no violation of FK constraint.
52 * DataSet.cs (Prefix) : If value is null chage it to empty string.
53 (GetXml) : Removing the Processing Instructions from the xml string as in MS ADO.NET.
55 * ExpressionElement : Adding support for IN expresion.
57 * DataTable (CopyConstraints) : New method that copy the tables constraints to the copy table.
58 (Select) : Adding support for DataViewwRowState.
60 * ForeignKeyConstraint.cs (AssertConstraint) : Adding implementation.
62 * MergeManager.cs (MergeRow) : Fix bugs.
64 2003-10-27 Eran Domb <erand@mainsoft.com>
65 * DataRow.cs (SetColumnValue): Donot check null value when in midle of loading data.
66 check null values when ending loading data.
68 * DataSet.cs (RejectChanges) : Imlementation.
69 (Prefix) : If prefix was changed fire event. Check that the prefix is not null - if null,
70 change it to empty string.
72 * DataTable.cs (BeginLoadData, EndLoadData) : Impemantation.
74 2003-10-22 Eran Domb <erand@mainsoft.com>
75 * MergeManager.cs : Fixing bugs. Adding check for PrimaryKey matching.
77 * ConstraintCollection.cs (RamoveAt): Change implemntation.
79 * DataTableCollection (CanRemove): Removing cast to Constraint.
81 2003-10-22 Eran Domb <erand@mainsoft.com>
82 * DataRelationCollection.cs (AddCore): The unique constraint was added even if the createConstraints flag was false.
83 (Clear): The collection was cleared without removing the relation from the parent and child tables.
85 * DataSet.cs (Copy, Clone): The Relations of the DataSet were not copy.
86 (HasChanges, Reset): Imlementation.
88 * DataTable.cs (HasErrors): There is no flag for errors, instead the table ask her row if they have any errors.
\r
89 This is because the we do not no when to turn off the flag.
90 (Locale): Changing implementation to behave like ADO.NET.
91 (AcceptChanges): Fix bug.
92 (Clear): Check that this table is not referenced from a foreign key constraint.
93 (Copy): Do not try to access a deleted row.
94 (CopyProperties): Copy the PrimaryKey.
95 (GetChanges, ImportRow): Implementation.
96 (LoadDataRow): Adding implementation if the table has PrimaryKey.
97 (ToString): Changing implementation to behave like ADO.NET.
99 * UniqueConstraint.cs (AssertConstraint): support for Multiple DataColumns in the constraint.
101 * DataRow.cs (Ctor): In the constructor we initiate the current array, but we should initiate only the proposed array for new rows.
102 (HasErrors): Implementation.
103 (Delete): Added checking for child rows of the deleted row.
104 (EndEdit): Added checking for child row and firing events.
105 (GetColumnError): Added a check that the method will not return null, as in ADO.NET(an empty string is returned).
106 (GetColumnsInError): Added a check for null values in column error.
107 (HasVersion): Added special treatment for special RowState.
108 (CollectionChanged): More checks to avoid NullReferenceException.
110 * DataRowCollection.cs (Remove): Fix a bug.
\r
113 2003-10-01 Duncan Mak <duncan@ximian.com>
115 More patches from Eran Domb <erand@mainsoft.com>.
117 * MergeManager.cs: New file.
119 * DataRelationCollection.cs (AddCore): Check that a
120 UniqueConstraint is already exists. It loops over the Relations
121 instead of the Constraints.
122 (Add, AddCore): The relation was added twice.
124 * DataSet.cs (Merge, GetChanges, HasChanges): Implemented.
126 2003-09-30 Duncan Mak <duncan@ximian.com>
128 Patches from Eran Domb <erand@mainsoft.com>.
130 * DataRelation.cs (constructor): When the name of the relation is
131 null, it should return an empty, not "Relation".
133 * DataRow.cs (AcceptChanges): Added special case for
135 (CancelEdit): Set editing flag to false.
136 (IsNull): Check that the value is DBNull.
138 * DataRowCollection.cs (Add): There was no check that the table of
139 the collection is owned by a DataSet.
141 * DataSet.cs (OnMergeFailed): Added.
143 * UniqueConstraint.cs (AssertConstraint): There was no check that
144 values in the row are not null, where it is a primary key
145 column. Also check that the row has a proposed version, if not,
146 get the current version when we compare the rows.
148 2003-09-25 Duncan Mak <duncan@ximian.com>
150 Patches from Eran Domb <erand@mainsoft.com>.
152 * DataColumn.cs (Unique): Implemented.
155 * ConstraintCollection.cs:
156 * ForeignKeyConstraint.cs (_ensureUniqueConstraintExists): Fixes
157 an Exception thrown. Details:
158 http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002130.html
160 * DataRowCollection.cs (Add): There is no checking that there is
161 no violation of the unique constrains.
163 * UniqueConstraint.cs (AssertConstraint): There is no checking on
164 all columns in the constraint.
166 * DataTableCollection (Add): Correctly throw an Exception, more
168 http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002117.html
169 (Remove, RemoveAt): Implemented.
171 2003-07-31 Duncan Mak <duncan@ximian.com>
173 * DBConcurrencyException.cs: Added new NET_1_1 no-param constructor.
175 2003-07-25 Ravi Pratap <ravi@ximian.com>
177 * DataRelation.cs (OnPropertyChanging): Calling the 'Invoke'
178 method on a delegate is disallowed - fix this.
180 2003-07-22 Lluis Sanchez Gual <lluis@ximian.com>
182 * DataSet.cs: Implemented IXmlSerializable interface. Added basic support for
183 xml serialization. Modified method of writing schema. Now it creates
184 a XmlSchema object and serializes it using XmlSerializer.
185 * XmlConstants.cs: Added constants for data type names.
186 * XmlDataLoader.cs: Fixed deserialization of data. Now converts data to the
187 type specified in the column.
189 2003-04-20 Alan Tam <Tam@SiuLung.com>
191 * DataRelationCollection.cs: Fix a bug that prevent relations
192 from being added via DataSet.
194 2003-04-12 Ville Palo <vi64pa@kolumbus.fi>
196 * UniqueConstraint.cs: one tiny fix.
198 2003-04-05 Ville Palo <vi64pa@kolumbus.fi>
200 * DataTable.cs: Remove UniqueConstraints when adding new ones
202 2003-04-04 Ville Palo <vi64pa@kolumbus.fi>
204 * DataColumnCollection.cs: Little 'case sensitive' fix
206 2003-04-04 Ville Palo <vi64pa@kolumbus.fi>
208 * DataRow.cs: AutoIncrement handling to Constructor
209 * DataRowCollection.cs: This doesnt need anymore AutoIncrements
211 2003-03-27 Ville Palo <vi64pa@kolumbus.fi>
213 * DataTable.cs: Some fixes to PrimaryKey etc...
214 * UniqueConstraint.cs: Little clean up
216 2003-03-27 Ville Palo <vi64pa@kolumbus.fi>
218 * DataTable.cs: Tiny fix to ToString () -method
220 2003-03-27 Ville Palo <vi64pa@kolumbus.fi>
222 * ConstraintCollection.cs: Little fix.
223 * DataColumn.cs: Added new internal method SetUnique()
224 * UniqueConstraint.cs: some little fixes
226 2003-03-26 Ville Palo <vi64pa@kolumbus.fi>
228 * DataRowCollection.cs: Bugfixes, implementation,...
230 2003-03-26 Ville Palo <vi64pa@kolumbus.fi>
232 * DataColumn.cs: If DataType if set to something else than short, int
233 or long and AutoIncrement is true, AutoIncrement is must set to false.
235 2003-03-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
238 (BeginEdit): fixed array bound problem when a column has been added.
239 (EndEdit): just assign proposed to current as proposed is set to null.
240 This also fixes another array boudn problem.
242 2003-03-21 Alan Tam <Tam@SiuLung.com>
244 * DataRow.cs: Fixed problems in accessers, BeginEdit, CancelEdit,
245 EndEdit and AcceptChanges to act correctly according to DataRowState
247 * DataRowCollection.cs: Call AttachRow and DetachRow when a row is
248 attached and detached from the collection.
250 2003-03-20 Alan Tam <Tam@SiuLung.com>
252 * DataColumn.cs: Store empty string for Expression when null is passed in.
253 Classes generated by XSD.exe passes null by default.
255 2003-03-16 Ville Palo <vi64pa@kolumbus.fi>
257 * DataColumnCollection.cs: Tiny clean up
259 2003-03-16 Ville Palo <vi64pa@kolumbus.fi>
261 * DataColumn.cs: little fixes.
262 * DataColumnCollection.cs: Lots of little fixes and improvments.
264 2003-03-12 Alan Tam <Tam@SiuLung.com>
266 * DataSet.cs: Fixed a bug that the file written does not close correctly.
268 2003-03-08 Alan Tam <Tam@SiuLung.com>
270 * DataRelationCollection.cs: Removed the mis-overridden methods
271 * DataRow.cs: Fixed an attribute
272 * DataSet.cs: Fixed the modifiers
274 2003-03-06 Aleksey Demakov <avd@openlinksw.com>
276 * DataTableCollection.cs: The Contains (string name),
277 IndexOf (string name) methods, and item[string name] indexer
278 now behave more like .NET with respect to case-sensitivity.
279 That is if there is an exactly matching item then this one is used.
280 If there is only one item differing in case then it used.
281 If there are more than one item differing in case then
282 Contains returns false, IndexOf returns -1, and item[]
283 throws an ArgumentException.
285 2003-02-28 Ville Palo <vi64pa@kolumbus.fi>
287 * ExpressionElement.cs: More implementation.
289 2003-02-28 Alan Tam <Tam@SiuLung.com>
290 * DataSet.cs: Changed WriteTable so that it now calls the newly written
291 WriteObjectXml to direct the call to the respective XmlConvert method.
292 This fixes the wrong format written to XML files of bool, float,
293 double, DateTime and TimeSpan types.
295 2003-02-25 Alan Tam <Tam@SiuLung.com>
297 * DataRelation.cs: Added SetDataSet for DataSetRelationCollection to use.
298 * DataRelationCollection.cs: Implemented AddRange and Contains.
299 Implemented AddRange, Clear, List and RemoveCore for DataSetRelationColletion.
300 Implemented AddCore, List and RemoveCore for DataTableRelationCollection.
301 Reimplemented most Add methods to eliminate duplicated checks.
302 Centralized RelationName generation procedure in GetNextDefaultRelationName.
304 2003-02-25 Alan Tam <Tam@SiuLung.com>
306 * DataColumn.cs: Fixed wrong storage representation of Expression
307 (using empty string instead of null) so that ToString() returns nothing.
308 * DataColumnCollection.cs: Reimplemented GetNextDefaultColumnName so that
309 auto column naming now works as expected. Reimplemented some Add methods
310 to eliminate code duplication.
312 2003-02-19 Ville Palo <vi64pa@kolumbus.fi>
314 * DataTable.cs: DataTable.CaseSensitive follows parent
315 DataSet.CaseSensitive property if DataTable.CaseSensitive has never
316 been changed directly from DataTable
318 2003-02-19 Ville Palo <vi64pa@kolumbus.fi>
320 * DataSet.cs: When CaseSensitive property is changed all of the Tables
321 of DataSet have to change too
323 2003-02-19 Daniel Morgan <danmorg@sc.rr.com>
325 * InternalDataCollectionBase.cs: revert change to field
331 * DataSet.cs: commented use of DesignerAttribute
332 because it broke the build. According to MSDN,
333 DesignerAttribute does not have a zero-argument constructor
335 2003-02-18 Ville Palo <vi64pa@kolumbus.fi>
337 * DataColumnCollectin.cs: Little fix for indexer and case sensitivity
339 2003-02-18 Alan Tam <Tam@SiuLung.com>
341 * DataRow.cs: Implemented GetParentRow and GetParentRows.
342 * DataSet.cs: Added stub for HasChanges, InferXmlSchema,
343 OnPropertyChanging, OnRemoveRelation, OnRemoveTable,
344 RaisePropertyChanging.
345 * DataTable.cs: Implemented NewRowArray.
346 * DataTablePropertyDescriptor: Fixed a modifier.
347 * InternalDataCollectionBase.cs: Fixed modifiers. Implemented SyncRoot.
348 * PropertyCollection.cs: Minor fix.
349 * ConstraintCollection.cs DataColumn.cs DataColumnCollection.cs
350 * DataRelation.cs DataRelationCollection.cs DataRow.cs
351 * DataRowCollection.cs DataRowState.cs DataSet.cs DataTable.cs
352 * DataTableCollection.cs DataTablePropertyDescriptor.cs DataView.cs
353 * DataViewManager.cs DataViewRowState.cs DataViewSettingCollection.cs
354 * ForeignKeyConstraint.cs InternalDataCollectionBase.cs
355 * PropertyCollection.cs UniqueConstraint.cs: Added missing attributes
357 2003-02-08 Ville Palo <vi64pa@koti.soon.fi>
359 * ExpressionElement.cs: More implementation
361 2003-02-05 Alan Tam <Tam@SiuLung.com>
363 * DataSet.cs: Added framework for DataSet.Update Implemented missing
364 methods GetSchemaSerializable, GetSerializationData,
365 ReadXmlSerializable, ShouldSerializeRelations and ShouldSerializeTables
367 * DataTable.cs: Implemented missing methods CreateInstance and
368 GetRowType for DataTable
370 2003-02-03 Ville Palo <vi64pa@koti.soon.fi>
372 * DataSet.cs: Implemented private method MapType for
373 mapping datatypes for XmlSchema
375 2003-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
377 * DataView.cs: implemented Dispose.
379 2003-01-30 Ville Palo <vi64pa@koti.soon.fi>
381 * ExpressionElement.cs: Added new file. This file is for parsing
382 and DataData.Select () -methods and DataColumn.Expression -property
383 * DataTable.cs: Implemented Select(string) -method
385 2003-01-28 Ville Palo <vi64pa@koti.soon.fi>
387 * DataSet.cs: One little fix to writing xml
389 2003-01-27 Ville Palo <vi64pa@koti.soon.fi>
391 * XmlSchemaMapper.cs: Some fixes.
392 * DatSet.cs: Some XmlFixes and BeginInit ()/ EndInit () -fix
395 2003-01-24 Ville Palo <vi64pa@koti.soon.fi>
397 * UniqueConstraint.cs: Do not set columns Unique property true
399 * ForeignKeyConstraint.cs: Add UniqueConstraint to parent Table
401 2003-01-18 Ville Palo <vi64pa@koti.soon.fi>
403 * DataTableCollection.cs: Now names new DataTable if it doesn't
406 2003-01-17 Ville Palo <vi64pa@koti.soon.fi>
408 * XmlSchemaMapper.cs: Improvments.
409 * XmlConstaints.cs: Added more constants.
410 * DataSet.cs: Improvments of reading and writing xml
411 * DataColumn.cs: Added default values of properties.
413 2003-01-14 Ville Palo <vi64pa@koti.soon.fi>
415 * XmlSchemaMapper.cs: Some improvments
417 2003-01-13 Ville Palo <vi64pa@koti.soon.fi>
419 * DataRowCollection.cs: Added IndexOutOfRangeException
420 * DataTableCollection.cs: Added OnCollectionChanging and
421 OnCollectionChanged events.
422 * DataSet.cs: Many fixes. Implemented Clone () and Copy () -methods
423 * DataTable.cs: Implemented Copy () and Clone () methods.
424 * XmlDataLoader.cs: some fixes.
425 * XmlSchemaMapper.cs: comments.
427 2003-01-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
429 * DataColumnPropertyDescriptor.cs: store columnIndex in the .ctor.
431 2003-01-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
433 * DataColumnPropertyDescriptor.cs: fixed typo.
434 * DataViewManagerListItemTypeDescriptor.cs: added new internal property
435 to get the DataViewManager and removed TablePD class.
436 * DataTablePropertyDescriptor.cs: TablePD class is now this one as
437 suggested by danmorg.
439 2003-01-06 Ville Palo <vi64pa@koti.soon.fi>
441 * XmlDataLoader.cs: Moved diffgram stuff to new internal class
443 * XmlDiffLoader.cs: new class for diffgrams. Added handling of
444 diffgr:Errors and some fixes and changed XmlReader to XPathNavigator.
446 2003-01-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
448 * DataView.cs: made dataViewManager internal.
449 * DataViewManager.cs: use ICustomTypeDescriptor. We don't want the
450 properties of the object, but the values of the columns present in a
453 * DataViewManagerListItemTypeDescriptor.cs: implemented GetProperties,
454 which returns a PropertyDescriptorCollection. Created a new class
455 derived from PropertyDescriptor that treats Table as an object whose
456 properties are DataRowView.
458 2003-01-04 Ville Palo <vi64pa@koti.soon.fi>
460 * XmlSchemaMapper.cs: Added handling for Constraints, Attributes.
462 2003-01-04 Ville Palo <vi64pa@koti.soon.fi>
464 * DataColumn.cs: ExtendedProperties is by default !null-
466 2003-01-04 Ville Palo <vi64pa@koti.soon.fi>
468 * DataColumnCollection.cs: Add (DataColumn Column) -method didn't
469 set column's ordinal.
471 2003-01-02 Ville Palo <vi64pa@koti.soon.fi>
474 * XmlDataLoader.cs: XmlReader closing fixes.
475 * XmlSchemaReader.cs: Added support for ref=
477 2003-01-01 Ville Palo <vi64pa@koti.soon.fi>
480 - Added XmlReader and XmlWriter Closing.
481 - Moved ReadXmlSchema stuff to new internal class XmlSchemaMapper.
483 - Much better way IMHO to map xmlschema than the old one in
484 DataSet.cs. Its, more flexible, cleaner, ...
486 2002-12-29 Ville Palo <vi64pa@koti.soon.fi>
488 * XmlDataLoader.cs: Reading diffgrams.
490 2002-12-29 Ville Palo <vi64pa@koti.soon.fi>
492 * DataRow.cs: Little fix to indexer and DataColumnCang* trigger fixes.
493 * DataTable.cs: Added ChanginDataColumn () for triggering
494 DataColumnChanging event
496 2002-12-28 Ville Palo <vi64pa@koti.soon.fi>
498 * DataSet.cs: Indentations to WriteXmlSchema () and one little fix
500 2002-12-28 Ville Palo <vi64pa@koti.soon.fi>
502 * DataSet.cs: Indentations to WriteXml ()
504 2002-12-27 Ville Palo <vi64pa@koti.soon.fi>
507 * XmlDataLoader.cs: Moved ReadXml -stuff from DataSet.cs to new
508 class XmlDataLoader.cs
510 2002-12-19 Ville Palo <vi64pa@koti.soon.fi>
512 * DataSet.cs Implemented ReadXml with XmlReadMode.ReadSchema
514 2002-12-18 Ville Palo <vi64pa@koti.soon.fi>
516 * DataSet.cs: Started to implement ReadXml-methods.
518 2002-12-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
520 * DataSet.cs: implemented DefaultViewManager and GetList.
522 * DataViewManager.cs: a bit of work on IList and ITypedList needed by
523 DataList in System.Web.
525 * DataViewManagerListItemTypeDescriptor.cs: custom type descriptor for
528 2002-12-16 Ville Palo <vi64pa@koti.soon.fi>
531 * DataTable.cs: Fixed NullException (rollback -event)
532 * DataSet.cs: WriteXml -method does not anymore write <?xml... row.
534 2002-12-15 Ville Palo <vi64pa@koti.soon.fi>
537 * DataRowCollection.cs: Moved event triggering from DataRow to
540 2002-12-09 Ville Palo <vi64pa@koti.soon.fi>
542 * DataSet.cs: Little fix to WriteTable () -method
543 and DoReadXmlSchema () -method.
545 2002-12-06 Ville Palo <vi64pa@koti.soon.fi>
547 * DataSet.cs: Clean up to reading xmlschema. This looks much better
548 now (work better too), but it not working correctly yet.
550 2002-12-04 Ville Palo <vi64pa@koti.soon.fi>
553 * DataRowCollection.cs: Added some event handlins stuff.
554 * DataSet.cs: Some fixes.
555 * DataTable.cs: Added event handlers.
557 2002-11-30 Ville Palo <vi64pa@koti.soon.fi>
559 * DataRowChangeEventArgs.cs: Implemented Action and Row properties
561 2002-11-30 Ville Palo <vi64pa@koti.soon.fi>
563 * System.Data/DataRow.cs: Added internal property XmlDataID
565 2002-11-29 Ville Palo <vi64pa@koti.soon.fi>
567 * DataSystem.Data.DataTableCollection.cs:
568 Removed HashTable. There could be situations where DataTable
569 is added to collection before it hava TableName. So using
570 HashTable is impossible.
572 2002-11-19 Carlos Guzmán Álvarez <carlosga@telefonica.net>
574 * DataRow.cs: an object that is equal to null
575 should be allowed to be set in this indexer too
578 2002-11-06 Daniel Morgan <danmorg@sc.rr.com>
580 * DataColumnPropertyDescriptor.cs: added file
582 * System.Data/DataRowView.cs: started implementation
584 * DataTable.cs: stubbed more interfaces. Implemented
585 IListSource.GetList()
587 * DataView.cs: stubbed more interfaces. Implemented
588 some properties and methods: GetEnumerator(),
589 ITypedList.GetItemProperties, Item indexer, CopyTo()
591 2002-05-18 Nick Drochak <ndrochak@gol.com>
593 * DataRow.cs: Fix typo.