2003-11-09 Pedro Martínez Juliá * DataRow.cs: Use RemoveInternal instead of Remove because the last one uses Delete and AcceptChanges. * DataRowCollection.cs: When removing, Delete and AcceptChanges method from the row are called. Added an internal method that will be used by DataRow to "physically" remove the row from the list. 2003-11-09 Pedro Martínez Juliá * DataRowCollection.cs: To follow the specification: Remove and RemoveAt should remove the row. But needed to call DeletingDataRow to prepare the deleting. * DataRow.cs: Don't call DeletingDataRow when it is called by the method Table.Rows.Remove. 2003-11-09 Pedro Martínez Juliá * DataRowCollection.cs: Make the row be deleted by itself. If not, it fails because we need to call OnRowDeleting and OnRowDeleted. It is full implemented inside DataRow. 2003-11-05 Eran Domb * DataView.cs (ctor) : Changing default RowStateFilter to CurrentRow. 2003-11-04 Eran Domb * DataRow.cs (CheckChildRows) : Improving the implementation - checking child for all FK, and not on all Relations. (GetChildRows) : Adding some checks. (GetParentRows) : Adding some checks. Fix a bug in implementation. (SetParentRow) : Added implementation. * DataRowCollection.cs (Add) : Added more checks on the row added to the collection. * DataTable.cs (Copy) : Set the During Loading flag to save unnecessary assertions. * ForeignKeyConstraint.cs (AssertConstraint) : Fixing bugs in implementation. Checking for DBNull values in the row. * MergeManager.cs : Check that the target table is not null. 2003-10-27 Eran Domb * DataColumn.cs (DefaultValue) : Changing null value to DBNull. Checking that the type of the new default value can be converted to the column type. * DataRelationCollection.cs (AddCore) : Give the new FK the name of the relation. * DataRow.cs (EndEdit) : Check if we need to validate the constraints. (GetParentRows, GetChildRows) : Checking that the row has the wanted version, before accessing the row's value. * DataRowCollection.cs (Add) : Fixing a bug. (Clear) : Before clearing the array check that there is no violation of FK constraint. * DataSet.cs (Prefix) : If value is null chage it to empty string. (GetXml) : Removing the Processing Instructions from the xml string as in MS ADO.NET. * ExpressionElement : Adding support for IN expresion. * DataTable (CopyConstraints) : New method that copy the tables constraints to the copy table. (Select) : Adding support for DataViewwRowState. * ForeignKeyConstraint.cs (AssertConstraint) : Adding implementation. * MergeManager.cs (MergeRow) : Fix bugs. 2003-10-27 Eran Domb * DataRow.cs (SetColumnValue): Donot check null value when in midle of loading data. check null values when ending loading data. * DataSet.cs (RejectChanges) : Imlementation. (Prefix) : If prefix was changed fire event. Check that the prefix is not null - if null, change it to empty string. * DataTable.cs (BeginLoadData, EndLoadData) : Impemantation. 2003-10-22 Eran Domb * MergeManager.cs : Fixing bugs. Adding check for PrimaryKey matching. * ConstraintCollection.cs (RamoveAt): Change implemntation. * DataTableCollection (CanRemove): Removing cast to Constraint. 2003-10-22 Eran Domb * DataRelationCollection.cs (AddCore): The unique constraint was added even if the createConstraints flag was false. (Clear): The collection was cleared without removing the relation from the parent and child tables. * DataSet.cs (Copy, Clone): The Relations of the DataSet were not copy. (HasChanges, Reset): Imlementation. * DataTable.cs (HasErrors): There is no flag for errors, instead the table ask her row if they have any errors. This is because the we do not no when to turn off the flag. (Locale): Changing implementation to behave like ADO.NET. (AcceptChanges): Fix bug. (Clear): Check that this table is not referenced from a foreign key constraint. (Copy): Do not try to access a deleted row. (CopyProperties): Copy the PrimaryKey. (GetChanges, ImportRow): Implementation. (LoadDataRow): Adding implementation if the table has PrimaryKey. (ToString): Changing implementation to behave like ADO.NET. * UniqueConstraint.cs (AssertConstraint): support for Multiple DataColumns in the constraint. * DataRow.cs (Ctor): In the constructor we initiate the current array, but we should initiate only the proposed array for new rows. (HasErrors): Implementation. (Delete): Added checking for child rows of the deleted row. (EndEdit): Added checking for child row and firing events. (GetColumnError): Added a check that the method will not return null, as in ADO.NET(an empty string is returned). (GetColumnsInError): Added a check for null values in column error. (HasVersion): Added special treatment for special RowState. (CollectionChanged): More checks to avoid NullReferenceException. * DataRowCollection.cs (Remove): Fix a bug. 2003-10-01 Duncan Mak More patches from Eran Domb . * MergeManager.cs: New file. * DataRelationCollection.cs (AddCore): Check that a UniqueConstraint is already exists. It loops over the Relations instead of the Constraints. (Add, AddCore): The relation was added twice. * DataSet.cs (Merge, GetChanges, HasChanges): Implemented. 2003-09-30 Duncan Mak Patches from Eran Domb . * DataRelation.cs (constructor): When the name of the relation is null, it should return an empty, not "Relation". * DataRow.cs (AcceptChanges): Added special case for RowState.Detached. (CancelEdit): Set editing flag to false. (IsNull): Check that the value is DBNull. * DataRowCollection.cs (Add): There was no check that the table of the collection is owned by a DataSet. * DataSet.cs (OnMergeFailed): Added. * UniqueConstraint.cs (AssertConstraint): There was no check that values in the row are not null, where it is a primary key column. Also check that the row has a proposed version, if not, get the current version when we compare the rows. 2003-09-25 Duncan Mak Patches from Eran Domb . * DataColumn.cs (Unique): Implemented. * DataTable.cs: * ConstraintCollection.cs: * ForeignKeyConstraint.cs (_ensureUniqueConstraintExists): Fixes an Exception thrown. Details: http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002130.html * DataRowCollection.cs (Add): There is no checking that there is no violation of the unique constrains. * UniqueConstraint.cs (AssertConstraint): There is no checking on all columns in the constraint. * DataTableCollection (Add): Correctly throw an Exception, more details here: http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002117.html (Remove, RemoveAt): Implemented. 2003-07-31 Duncan Mak * DBConcurrencyException.cs: Added new NET_1_1 no-param constructor. 2003-07-25 Ravi Pratap * DataRelation.cs (OnPropertyChanging): Calling the 'Invoke' method on a delegate is disallowed - fix this. 2003-07-22 Lluis Sanchez Gual * DataSet.cs: Implemented IXmlSerializable interface. Added basic support for xml serialization. Modified method of writing schema. Now it creates a XmlSchema object and serializes it using XmlSerializer. * XmlConstants.cs: Added constants for data type names. * XmlDataLoader.cs: Fixed deserialization of data. Now converts data to the type specified in the column. 2003-04-20 Alan Tam * DataRelationCollection.cs: Fix a bug that prevent relations from being added via DataSet. 2003-04-12 Ville Palo * UniqueConstraint.cs: one tiny fix. 2003-04-05 Ville Palo * DataTable.cs: Remove UniqueConstraints when adding new ones 2003-04-04 Ville Palo * DataColumnCollection.cs: Little 'case sensitive' fix 2003-04-04 Ville Palo * DataRow.cs: AutoIncrement handling to Constructor * DataRowCollection.cs: This doesnt need anymore AutoIncrements 2003-03-27 Ville Palo * DataTable.cs: Some fixes to PrimaryKey etc... * UniqueConstraint.cs: Little clean up 2003-03-27 Ville Palo * DataTable.cs: Tiny fix to ToString () -method 2003-03-27 Ville Palo * ConstraintCollection.cs: Little fix. * DataColumn.cs: Added new internal method SetUnique() * UniqueConstraint.cs: some little fixes 2003-03-26 Ville Palo * DataRowCollection.cs: Bugfixes, implementation,... 2003-03-26 Ville Palo * DataColumn.cs: If DataType if set to something else than short, int or long and AutoIncrement is true, AutoIncrement is must set to false. 2003-03-26 Gonzalo Paniagua Javier * DataRow.cs: (BeginEdit): fixed array bound problem when a column has been added. (EndEdit): just assign proposed to current as proposed is set to null. This also fixes another array boudn problem. 2003-03-21 Alan Tam * DataRow.cs: Fixed problems in accessers, BeginEdit, CancelEdit, EndEdit and AcceptChanges to act correctly according to DataRowState and DataRowVersion. * DataRowCollection.cs: Call AttachRow and DetachRow when a row is attached and detached from the collection. 2003-03-20 Alan Tam * DataColumn.cs: Store empty string for Expression when null is passed in. Classes generated by XSD.exe passes null by default. 2003-03-16 Ville Palo * DataColumnCollection.cs: Tiny clean up 2003-03-16 Ville Palo * DataColumn.cs: little fixes. * DataColumnCollection.cs: Lots of little fixes and improvments. 2003-03-12 Alan Tam * DataSet.cs: Fixed a bug that the file written does not close correctly. 2003-03-08 Alan Tam * DataRelationCollection.cs: Removed the mis-overridden methods * DataRow.cs: Fixed an attribute * DataSet.cs: Fixed the modifiers 2003-03-06 Aleksey Demakov * DataTableCollection.cs: The Contains (string name), IndexOf (string name) methods, and item[string name] indexer now behave more like .NET with respect to case-sensitivity. That is if there is an exactly matching item then this one is used. If there is only one item differing in case then it used. If there are more than one item differing in case then Contains returns false, IndexOf returns -1, and item[] throws an ArgumentException. 2003-02-28 Ville Palo * ExpressionElement.cs: More implementation. 2003-02-28 Alan Tam * DataSet.cs: Changed WriteTable so that it now calls the newly written WriteObjectXml to direct the call to the respective XmlConvert method. This fixes the wrong format written to XML files of bool, float, double, DateTime and TimeSpan types. 2003-02-25 Alan Tam * DataRelation.cs: Added SetDataSet for DataSetRelationCollection to use. * DataRelationCollection.cs: Implemented AddRange and Contains. Implemented AddRange, Clear, List and RemoveCore for DataSetRelationColletion. Implemented AddCore, List and RemoveCore for DataTableRelationCollection. Reimplemented most Add methods to eliminate duplicated checks. Centralized RelationName generation procedure in GetNextDefaultRelationName. 2003-02-25 Alan Tam * DataColumn.cs: Fixed wrong storage representation of Expression (using empty string instead of null) so that ToString() returns nothing. * DataColumnCollection.cs: Reimplemented GetNextDefaultColumnName so that auto column naming now works as expected. Reimplemented some Add methods to eliminate code duplication. 2003-02-19 Ville Palo * DataTable.cs: DataTable.CaseSensitive follows parent DataSet.CaseSensitive property if DataTable.CaseSensitive has never been changed directly from DataTable 2003-02-19 Ville Palo * DataSet.cs: When CaseSensitive property is changed all of the Tables of DataSet have to change too 2003-02-19 Daniel Morgan * InternalDataCollectionBase.cs: revert change to field to fix build * DataViewManager.cs * DataView.cs * DataTable.cs * DataSet.cs: commented use of DesignerAttribute because it broke the build. According to MSDN, DesignerAttribute does not have a zero-argument constructor 2003-02-18 Ville Palo * DataColumnCollectin.cs: Little fix for indexer and case sensitivity 2003-02-18 Alan Tam * DataRow.cs: Implemented GetParentRow and GetParentRows. * DataSet.cs: Added stub for HasChanges, InferXmlSchema, OnPropertyChanging, OnRemoveRelation, OnRemoveTable, RaisePropertyChanging. * DataTable.cs: Implemented NewRowArray. * DataTablePropertyDescriptor: Fixed a modifier. * InternalDataCollectionBase.cs: Fixed modifiers. Implemented SyncRoot. * PropertyCollection.cs: Minor fix. * ConstraintCollection.cs DataColumn.cs DataColumnCollection.cs * DataRelation.cs DataRelationCollection.cs DataRow.cs * DataRowCollection.cs DataRowState.cs DataSet.cs DataTable.cs * DataTableCollection.cs DataTablePropertyDescriptor.cs DataView.cs * DataViewManager.cs DataViewRowState.cs DataViewSettingCollection.cs * ForeignKeyConstraint.cs InternalDataCollectionBase.cs * PropertyCollection.cs UniqueConstraint.cs: Added missing attributes 2003-02-08 Ville Palo * ExpressionElement.cs: More implementation 2003-02-05 Alan Tam * DataSet.cs: Added framework for DataSet.Update Implemented missing methods GetSchemaSerializable, GetSerializationData, ReadXmlSerializable, ShouldSerializeRelations and ShouldSerializeTables for DataSet * DataTable.cs: Implemented missing methods CreateInstance and GetRowType for DataTable 2003-02-03 Ville Palo * DataSet.cs: Implemented private method MapType for mapping datatypes for XmlSchema 2003-02-03 Gonzalo Paniagua Javier * DataView.cs: implemented Dispose. 2003-01-30 Ville Palo * ExpressionElement.cs: Added new file. This file is for parsing and DataData.Select () -methods and DataColumn.Expression -property * DataTable.cs: Implemented Select(string) -method 2003-01-28 Ville Palo * DataSet.cs: One little fix to writing xml 2003-01-27 Ville Palo * XmlSchemaMapper.cs: Some fixes. * DatSet.cs: Some XmlFixes and BeginInit ()/ EndInit () -fix 2003-01-24 Ville Palo * UniqueConstraint.cs: Do not set columns Unique property true as a default. * ForeignKeyConstraint.cs: Add UniqueConstraint to parent Table 2003-01-18 Ville Palo * DataTableCollection.cs: Now names new DataTable if it doesn't already have a name. 2003-01-17 Ville Palo * XmlSchemaMapper.cs: Improvments. * XmlConstaints.cs: Added more constants. * DataSet.cs: Improvments of reading and writing xml * DataColumn.cs: Added default values of properties. 2003-01-14 Ville Palo * XmlSchemaMapper.cs: Some improvments 2003-01-13 Ville Palo * DataRowCollection.cs: Added IndexOutOfRangeException * DataTableCollection.cs: Added OnCollectionChanging and OnCollectionChanged events. * DataSet.cs: Many fixes. Implemented Clone () and Copy () -methods * DataTable.cs: Implemented Copy () and Clone () methods. * XmlDataLoader.cs: some fixes. * XmlSchemaMapper.cs: comments. 2003-01-08 Gonzalo Paniagua Javier * DataColumnPropertyDescriptor.cs: store columnIndex in the .ctor. 2003-01-08 Gonzalo Paniagua Javier * DataColumnPropertyDescriptor.cs: fixed typo. * DataViewManagerListItemTypeDescriptor.cs: added new internal property to get the DataViewManager and removed TablePD class. * DataTablePropertyDescriptor.cs: TablePD class is now this one as suggested by danmorg. 2003-01-06 Ville Palo * XmlDataLoader.cs: Moved diffgram stuff to new internal class XmlDiffLoader. * XmlDiffLoader.cs: new class for diffgrams. Added handling of diffgr:Errors and some fixes and changed XmlReader to XPathNavigator. 2003-01-06 Gonzalo Paniagua Javier * DataView.cs: made dataViewManager internal. * DataViewManager.cs: use ICustomTypeDescriptor. We don't want the properties of the object, but the values of the columns present in a row. * DataViewManagerListItemTypeDescriptor.cs: implemented GetProperties, which returns a PropertyDescriptorCollection. Created a new class derived from PropertyDescriptor that treats Table as an object whose properties are DataRowView. 2003-01-04 Ville Palo * XmlSchemaMapper.cs: Added handling for Constraints, Attributes. 2003-01-04 Ville Palo * DataColumn.cs: ExtendedProperties is by default !null- 2003-01-04 Ville Palo * DataColumnCollection.cs: Add (DataColumn Column) -method didn't set column's ordinal. 2003-01-02 Ville Palo * DataSet.cs: * XmlDataLoader.cs: XmlReader closing fixes. * XmlSchemaReader.cs: Added support for ref= 2003-01-01 Ville Palo * DataSet.cs: - Added XmlReader and XmlWriter Closing. - Moved ReadXmlSchema stuff to new internal class XmlSchemaMapper. * XmlSchemaMapper.cs - Much better way IMHO to map xmlschema than the old one in DataSet.cs. Its, more flexible, cleaner, ... 2002-12-29 Ville Palo * XmlDataLoader.cs: Reading diffgrams. 2002-12-29 Ville Palo * DataRow.cs: Little fix to indexer and DataColumnCang* trigger fixes. * DataTable.cs: Added ChanginDataColumn () for triggering DataColumnChanging event 2002-12-28 Ville Palo * DataSet.cs: Indentations to WriteXmlSchema () and one little fix 2002-12-28 Ville Palo * DataSet.cs: Indentations to WriteXml () 2002-12-27 Ville Palo * DataSet.cs: * XmlDataLoader.cs: Moved ReadXml -stuff from DataSet.cs to new class XmlDataLoader.cs 2002-12-19 Ville Palo * DataSet.cs Implemented ReadXml with XmlReadMode.ReadSchema 2002-12-18 Ville Palo * DataSet.cs: Started to implement ReadXml-methods. 2002-12-17 Gonzalo Paniagua Javier * DataSet.cs: implemented DefaultViewManager and GetList. * DataViewManager.cs: a bit of work on IList and ITypedList needed by DataList in System.Web. * DataViewManagerListItemTypeDescriptor.cs: custom type descriptor for DataViewManager. 2002-12-16 Ville Palo * DataRow.cs * DataTable.cs: Fixed NullException (rollback -event) * DataSet.cs: WriteXml -method does not anymore write * DataRow.cs: * DataRowCollection.cs: Moved event triggering from DataRow to DataRowCollection. 2002-12-09 Ville Palo * DataSet.cs: Little fix to WriteTable () -method and DoReadXmlSchema () -method. 2002-12-06 Ville Palo * DataSet.cs: Clean up to reading xmlschema. This looks much better now (work better too), but it not working correctly yet. 2002-12-04 Ville Palo * DataRow.cs: * DataRowCollection.cs: Added some event handlins stuff. * DataSet.cs: Some fixes. * DataTable.cs: Added event handlers. 2002-11-30 Ville Palo * DataRowChangeEventArgs.cs: Implemented Action and Row properties 2002-11-30 Ville Palo * System.Data/DataRow.cs: Added internal property XmlDataID 2002-11-29 Ville Palo * DataSystem.Data.DataTableCollection.cs: Removed HashTable. There could be situations where DataTable is added to collection before it hava TableName. So using HashTable is impossible. 2002-11-19 Carlos Guzmán Álvarez * DataRow.cs: an object that is equal to null should be allowed to be set in this indexer too to be like .NET 2002-11-06 Daniel Morgan * DataColumnPropertyDescriptor.cs: added file * System.Data/DataRowView.cs: started implementation * DataTable.cs: stubbed more interfaces. Implemented IListSource.GetList() * DataView.cs: stubbed more interfaces. Implemented some properties and methods: GetEnumerator(), ITypedList.GetItemProperties, Item indexer, CopyTo() 2002-05-18 Nick Drochak * DataRow.cs: Fix typo.