2006-06-15 Senganal T <tsenganal@novell.com>
[mono.git] / mcs / class / System.Data / System.Data / ChangeLog
index 77c60c00af605bae4adf8f04ed3bdf9982731b13..53705bd863a2a11e9395c505f648e1601e9cff58 100644 (file)
@@ -1,3 +1,378 @@
+2006-06-15  Senganal T  <tsenganal@novell.com>
+
+       * DataTable.cs :
+               - Select : If Sort String is not provided, sort the result
+               DataRows in Ascending Order of the Columns used in the filter
+
+2006-06-15  Senganal T  <tsenganal@novell.com>
+
+       * DataSet.cs :
+               - InternalEnforceConstraints : Check if any null constraints 
+               are violated. Throw ConstraintException only after all the errors
+               are filled.
+       * DataTable.cs :
+               - EnforceConstraints : Move away the logic to check for 
+               NullConstraintViolation.
+               - AssertNotNullConstraint : Checks for Null Constraint
+               Violation.
+               - EndLoadData : Do not throw any exceptions here. All the
+               errors have to be found and RowErrors set before throwing the
+               exception.
+       * DataRow.cs :
+               - ImportRecrod : Check the values of the row for any null
+               values.
+               - SetColumnError : If the error for column is already set,
+               do not add a new error but edit the existing error. 
+               - CheckValue : Set the NullConstraintViolation flag if either
+               table is being loaded or if EnforceConstraints is set to
+               false.
+       * Constraint.cs : Do not throw exception when EnforceConstraints is
+       set to false or table is being loaded.
+       * UniqueConstraint.cs : Correct the error message. Set ColumnErrors
+       along with the RowError.
+
+2006-05-31  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataTable.cs: Renamed initInProgress to fInitInProgress. BeginInit
+       and EndInit must only be virtual in 2.0 profile. Set eol-style to CRLF.
+
+2006-05-31  Senganal T  <tsenganal@novell.com>
+
+       * XmlDataInferenceLoader.cs :
+               - InferTableElement : Repeated element should result in a single
+               inferred table.
+       Patch from Deepak Kr Velachha 
+
+2006-04-21  Senganal T  <tsenganal@novell.com>
+
+       * DataRowCollection.cs :
+               - Find : If search on the table using PrimaryKey fails and if
+               index is not being maintained (during table load), search the 
+               entire table.
+               - Find (int) : Removed. Deadcode. 
+               - Clear :
+                       - Not necessary to delete each row from the Index.
+                       Just reset the Indexes after cleaning up the row
+                       collection.
+                       - Simplify dependency check for child tables
+       * DataTable.cs :
+               - LoadDataRow : 
+                       - Do not use DataRowCollection.Find to search for
+                       existing records as this wud check even newly loaded rows.
+                       Use Index.Find.
+                       - Do not add new records to Index. Update Index only
+                       if an existing record is modified. New records will be
+                       taken care by EndLoadData.
+
+2006-04-19  Senganal T  <tsenganal@novell.com>
+
+       * XmlHelper.cs : A helper class for encoding/decoding schema names.
+       Caches the Schema names to minimize encoding/decoding operations and
+       duplicate strings created.
+       * XmlSchemaWriter : 
+               - Use XmlHelper for encoding/decoding schema names.
+               - Encode ConstraintNames when writing as xml.
+       * DataSet.cs
+       * XmlDataReader.cs
+       * XmlDataInferenceLoader.cs
+       * XmlSchemaDataImporter.cs
+               - Use XmlHelper for encoding/decoding schema names.
+       * DataTableCollections : Minor code refactor.
+       * DataRow.cs : Create XmlElement only if required.
+
+2006-04-07  Senganal T  <tsenganal@novell.com>
+
+       * DataSet.cs :
+               - InternalEnforceConstraints() : Reset Indexes of all tables
+               before validating constraints. Fixes #78010
+
+2006-03-04     Boris Kirzner <borisk@mainsoft.com>
+       * TypeDataSetGeneratorException.cs: fix .Net Soap serialization compatibility.
+
+2006-03-25  Senganal T  <tsenganal@novell.com>
+
+       * DataRow.cs : 
+               - RejectChanges : When row is in Deleted state, add the row back to
+               Indexes and Validate the row.
+
+
+2006-03-23  Senganal T  <tsenganal@novell.com>
+
+       * DataTable.cs : 
+               - LoadDataRow : Add the row to the indexes, when loading a new row.
+
+2006-03-22  Senganal T  <tsenganal@novell.com>
+
+       * DataTable.cs :
+               - PrimaryKey : Set the IsPrimaryKey attribute before Removing from collection.
+               - RemoveUniqueConstraints : Removed. dead code.
+       * DataColumn.cs :
+               - Unique : 
+                       - If adding/removing constraint fails, retain Unique value
+                       - Remove redundant code
+       * UniqueConstraint.cs :
+               - SetIsPrimaryKey : Added. Sets the value of IsPrimaryKey.
+               - RemoveFromConstraintCollectionCleanup : If constraint is on a single column, then
+               set Unique for that column to false.
+               - CanRemoveFromCollection : Do not remove constraint, if its a PrimaryKey
+
+2006-03-20  Senganal T  <tsenganal@novell.com>
+
+       * DataSet.cs :
+               - CopyRelations () : When copying the relation, do not add constraints
+               automatically for the relation.
+               - OnMergeFailed () : If merge fails and no handler is set for the MergeFailedEvent,
+               then throw DataException 
+       * ConstraintCollection.cs :
+               - Add () : Check if a constraint already exists on the Columns that are being 
+               constrained.
+               - IndexOf () : Do not check for equivalent constraints, check for the exact instance.
+       * MergeManager.cs (): 
+               -  AdjustSchema () : 
+                       - Handle the MissingSchemaAction.Error case, 
+                       - Do not create constraints when mergin the DataRelation
+                       - Follow the semantics for schema merge/validation  when constraints are already present
+                       in the target DataSet.
+               - AdjustPrimaryKeys () :
+                       - Code cleanup
+                       - Verify Order of Columns in the PrimaryKey when merging.
+               - ResolveColumns : Changed the arument to DataSet. Simplifies code elsewhere.
+               - CompareColumnArrays, CompareColumnArrays : Helper funtions.
+               
+2006-03-09  Senganal T  <tsenganal@novell.com>
+
+       * DataRow.cs :
+               - RejectChanges () :  Add the row to index, if it was in deleted state and
+               Update the index if in Modified State.
+               - AcceptChanges () : Do not update the Indexes.
+               - EndEdit () : Update the indexes even if BeginLoadData has been called
+               on the table. Ideally, indexes should not be maintained during DataLoad,
+               but this needs to handled in multiple places correctly. For now, just maintain
+               the index to ensure correct operation.
+       
+2006-03-05  Senganal T  <tsenganal@novell.com>
+
+       * DataSet.cs :
+               - BeginInit (), EndInit () : Implemented methods
+               - InitInProgress : Added.
+       * DataTable.cs
+               - EndInit () : Move the adding of columns and constraints
+               to FinishInit.
+               - FinishInit () : Added. Adds the Constraints and Columns
+               to the collection.
+               - InitInProgress : Added.
+       * Constraint.cs
+               - FinishInit () : Added. Virtual method
+               - InitInProgress : Added. Virtual property
+       * UniqueConstraint.cs
+       * ForeignKeyConstraint.cs
+               - FinishInit () : Added.
+               - InitInProgress : Added.
+               - DataColsNotValidated : Removed.
+       * ConstraintCollection.cs
+               - PostAddRange : Removed event
+               - PostEndEdit () : Renamed to PostAddRange
+               - Add () : Simplified the testing if constraint is initialized
+               - AddRange () : Simplified initializing the constraints
+       * DataTableCollection.cs
+               - PostAddRange () : Added. Adds the tables to the collection
+       * DataColumnColletion.cs
+               - PostEndInit () : Renamed to PostAddRange.Also, add column to
+               the collection only if not null.
+       Added/Implemented methods for design time support. Renamed some methods for consistency
+       in naming across classes for methods serving the same purpose. 
+
+2006-02-24  Senganal T  <tsenganal@novell.com>
+
+       * UniqueConstraint.cs :
+               - ChildConstraint : Added. Simplifies verifying if constraints are
+               related.
+               - CanRemoveFromCollection : Fixed the check to verify if constraints is
+               linked to a ForeignKeyConstraint. Fixes #77630
+       * ForeignKeyConstraint.cs :
+               - _validateRemoveParentConstraint : Removed. Not used anymore
+               - ParentConstraint : Added. Simplifies verifying if constraints are
+
+2006-02-22  Senganal T  <tsenganal@novell.com>
+
+       * DataRow.cs 
+               - RejectChanges : Do not remove Row from Indexes when state is Deleted.
+               - CheckChildRows : When checking for the ChildRows, use the current value
+               and not the original value.
+
+2006-02-18  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * CustomDataClassGenerator.cs : Patch by Marek Habersack. xsd now
+         outputs AutoIncrement, AutoIncrementSeed, AutoIncrementStep and
+         ReadOnly properties. This fixes bug #77576.
+
+2006-02-17  Chris Toshok  <toshok@ximian.com>
+
+       * System.Data/DataSet.cs, System.Data/DataView.cs,
+       System.Data/ForeignKeyConstraint.cs,
+       System.Data/DataViewManager.cs, System.Data/DataRow.cs,
+       System.Data/DataSysDescriptionAttribute.cs,
+       System.Data/UniqueConstraint.cs, System.Data/DataTable.cs,
+       System.Data/DataRelation.cs: lots of attribute work, removing
+       DataSysDescription atributes (and marking the class obsolete) for
+       2.0.
+
+2006-02-17  Chris Toshok  <toshok@ximian.com>
+
+       * DataAdapterException.cs: remove this file.
+       
+2006-02-17  Chris Toshok  <toshok@ximian.com>
+
+       * DataTableReader.cs: Switch to the (bool) form of Dispose to
+       override, as the no-arg form isn't virtual.
+
+       * Constraint.cs: #ifdef out more DataSysDescriptions.
+
+       * ConstraintException.cs: add ..ctor (string, Exception) for 2.0.
+
+2006-02-17  Chris Toshok  <toshok@ximian.com>
+
+       * DataColumn.cs: #ifdef all the DataSysDescriptions !NET_2_0.
+
+       * AdapterMappingException.cs: nuke this file.
+
+       * IDbAsyncConnection.cs, IDbAsyncCommand.cs, IGetTypedData.cs,
+       ISetTypedData.cs, IDataReader2.cs, IDataSources.cs,
+       IDbExecutionContext.cs, IDataRecord2.cs, IDataUpdatableRecord.cs:
+       remove these 2.0 files.
+
+2006-02-17  Chris Toshok  <toshok@ximian.com>
+
+       * ConstraintCollection.cs: in 2.0, class is not serializable and
+       is sealed.  make all the "virtuals" #if !NET_2_0 as well.
+
+       * Constraint.cs: not serializable in 2.0.
+
+       * DataColumnCollection.cs: in 2.0, class is not serializable and
+       is sealed.  make all the "virtuals" #if !NET_2_0 as well.
+
+       * DataRelationCollection.cs: not serializable in 2.0.
+
+       * DataRelation.cs: not serializable in 2.0.
+
+       * DataRowBuilder.cs: class is sealed in 2.0.
+
+       * DataRowCollection.cs: in 2.0, class is not serialized and is
+       sealed.  Also, Add isn't virtual in 2.0 (as the class is sealed).
+
+       * DataRow.cs: not serializable in 2.0.
+
+       * DataSet.cs: remove some DataSysDescriptions from the 2.0 build,
+       and s/GetDataReader/CreateDataReader.
+
+       * DataTableCollection.cs: in 2.0, class is not serializable and is
+       sealed.  make all the "virtuals" #if !NET_2_0 as well.
+
+       * DataTableReader.cs: remove VisibleFieldCount property.
+
+       * DataViewSettingCollection.cs: not serializable in 2.0.
+
+       * DataViewSetting.cs: not serializable in 2.0.
+
+       * ForeignKeyConstraint.cs: serializable in 2.0.
+
+       * OperationAbortedException.cs: class is sealed and serializable.
+
+       * PropertyCollection.cs: serializable in 2.0.
+
+       * StatementCompletedEventArgs.cs: class is sealed.
+
+       * UniqueConstraint.cs: not serializable in 2.0.
+
+2006-02-16  Senganal T  <tsenganal@novell.com>
+
+       * XmlSchemaWriter :
+               WriteDataSetElement : Add an annotation element if exists.
+               WriteDataRelationAnnotation : New. Write a DataRelation as an annotation.
+               WriteConstraints : Write ForeignKeyConstraint even when not associated with
+                       a DataRelation and add a "ConstraintOnly=true" attribute for such constraints.
+       * XmlConstants.cs : Add a new constant - ConstraintOnly
+       * XmlSchemaImporter.cs :
+               - ConstraintStructure : Add field ,IsConstraintOnly, to distinguish if a foreignkeyconstraint
+                       is related to relation or not.
+               - GenerateRelation : Handle the case when parentkey and childkey contain multiple columnnames.
+
+2006-02-11  Senganal T  <tsenganal@novell.com>
+       
+       * UniqueConstraint.cs :
+               - PostAddRange : Check PrimaryKey is not already set for the table
+       * DataTable.cs :
+               - PrimaryKey : follow ms.net behavior when BeginInit , EndInit is used.
+                       - Add new priamry key only when EndInit is called.
+                       - Incase of an error, retain old primarykey 
+               - EndInit :
+                       - Add Constraints after columns are added.
+                       - If both PrimaryKey Property and PrimaryKey Constraint are set,
+                       then the Constraint takes precedence.
+               fixes bug #77404
+
+2006-02-03  Senganal T  <tsenganal@novell.com>
+
+       * DataTableCollection.cs : 
+               - Remove () : Check for invalid TableName
+               - Add () : Verify the table doesn't belong to another dataset
+       * DataView.cs :
+               - CompleteLastAdded () : Do not raise ItemAdded Event as it is
+                       already raised in AddNew().
+       * DataColumn.cs :
+               - Expression : Verify that the Column names in the expression are valid 
+               - ResetCollectionInfo : Renamed to ResetColumnInfo
+       * DataRow.cs :
+               - RejectChanges () : Reorganized the code to do the Right thing.
+               - Item  : Dont check for detached and deleted rows as these are
+                       done elsewhere.
+       * DataRowCollection.cs :
+               - Add () : Check for null value
+       * DataTable.cs :
+               - PrimaryKey : Set AllowDBNull=false for all the key columns
+               - ImportRow : Import the row only if it is not in Detached state. if in Deleted
+                       state, perform the validation when AcceptChanges/RejectChanges is called.
+       * DataColumnCollection.cs :
+               - Add : Validate the column expression before adding it to the collection.
+               - GetColumnDependency () : New. Get the dependencies on the column 
+               - CanRemove : Move checks to GetColumnDependency
+               - Clear () : Simplified code. Remove unncessary checks.Also, dont check Expression col.
+               - IndexOf - Check argument.
+               Overall , appropriate error msg's are thrown if Remove/Clear fails. Removed a few
+               redundant checks performed and moved the common code to GetColumnDependency.
+
+2006-01-31  Senganal T  <tsenganal@novell.com>
+
+       * DataSet.cs : Modified CopyRelations ()
+               - Added code to copy ForeignKeyConstraints. Fixes #77411.
+       
+2006-01-18 Boris Kirzner <borisk@mainsoft.com>
+       * DataColumn.cs: added PropertyCchangedEvent handling.
+
+2006-01-17  Senganal T  <tsenganal@novell.com>
+       
+       * DataRow.cs:
+               ItemArray : Modified to raise RowInTableException only if
+               the concerned row has been removed from the table.Fixes 
+               bug #77267
+
+2006-01-16 Boris Kirzner <borisk@mainsoft.com>
+       * DataTable.cs: Drop dependend indexes on column removal.
+
+2006-01-16  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * CustomDataClassGenerator.cs :
+         When a DataRelation connects the same table as parent and child,
+         generate parent row property as BlahRowParent. Fixed bug #77248.
+
+2006-01-10  Senganal T <tsenganal@novell.com>
+       * DataRowCollection.cs
+               - Added ListChangedEvent to notify reset of the collection.
+       * DataView.cs
+               - Subscribes to the ListChangedEvent of DataRowCollection
+               Fixes bug #77188
+
 2006-01-09  Senganal T <tsenganal@novell.com>
        * RelatedDataView.cs
        * DataColumn.cs