2004-05-15 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.Data / System.Data / ChangeLog
index 9c7e9ca9fef0eb5f04241114c75a150b5c08ebac..d82983e02130c6c5a7cc5e69dea9a74fe741e6b6 100644 (file)
@@ -1,3 +1,289 @@
+2004-05-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * CustomDataClassGenerator.cs :
+         Added property parent "[foo]Row" and children "Get[foo]Row" support
+         for custom DataRow classes.
+         Fixed DataColumn property accessibility (public --> internal).
+
+2004-05-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * CustomDataClassGenerator.cs :
+         - Put classes inside custom DataSet class.
+         - Added automatic DataRelation creation support.
+         - Added Constraints creation support. That is done separate from
+           relations, since they might be independently created.
+         - Added non-MS public DataRelation fields.
+         - Removed extraneous "DataRelation type generation" code.
+         - Fixed custom_dataset.Initialize() not to create "c" field that
+           was created more than once.
+         - Implemented AddxxxRow() that takes parameters for every column.
+
+2004-05-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XmlSchemaDataImporter.cs : When primary key is used more than once,
+         DataRelation borked because of empty parent column name.
+
+2004-05-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XmlSchemaDataImporter.cs : When Creating constraints with related
+         to DataRelation creation, also set PrimaryKey to the parent table.
+
+2004-05-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XmlSchemaDataImporter.cs : 
+         Design change to add indirect table and relation structures.
+         Support for "relation" annotation for local element.
+         Support for repeatable simple element column (maxOccurs > 1).
+         Fixed handling of Nested property on DataRelation (for globally
+         annotated relation, Nested is false).
+
+2004-05-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataRow.cs : Added DataElement property to avoid storing every row-
+         element mapping. It stored even for nodes that should be removed.
+
+2004-05-13  Umadevi S <sumadevi@novell.com>
+
+       * RelationshipConverter.cs - Stubbed this class
+       * DataRelation.cs - added TypeConveterAttribute
+
+2004-05-13  Umadevi S  <sumadevi@novell.com>
+
+       * DataColumnCollection.cs - Added ResDescriptionAttribute
+       * DataRelation.cs - Added TypeConverterAttribute
+       * DataRelationCollection.cs - Added DefaultPropertyAttribute
+       * DataRowView.cs - Added GetHashCode method with a TODO tag
+        * DataSet.cs - Added DesignerAttribute
+       * DataView.cs - Added DesignerAttribute
+        * DataViewManager.cs - Added DesignerAttribute
+       * DataViewSetting.cs - Added TypeConverterAttribute
+       
+2004-05-12  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataRow.cs : Added XmlDataElement initialization code.
+
+2004-05-11  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XmlDataInferenceLoader.cs :
+         It now requires XmlDocument as input.  Improved identification of
+         DataSet element.  Removed extra lines.
+         Moved boresome design notes to bottom of the source and
+         added standalone runnable driver (not included on build).
+       * DataSet.cs :
+         Update with related to the change above.
+         WriteXml() should call Flush() after writing. This fixes bug #58327.
+       * XmlSchemaDataImporter.cs :
+         Improved indentification of DataSet element.
+
+2004-05-11  Gert Driesen (drieseng@users.sourceforge.net)
+       * DataTable: marked initStatus enum internal
+
+2004-05-09  Gert Driesen (drieseng@users.sourceforge.net)
+       * DataTable.cs: removed TypeConverterAttribute, marked RowsExist
+       methods internal
+       * DataRowView.cs: removed extra Error property
+       * DataRow.cs: reduced accessibility of CollectionChanged method 
+       to private
+       * DataColumnPropertyDescriptor.cs: made class internal
+       * DataColumn.cs: removed extra TypeConvertorAttribute
+       * ConstrainCollection.cs: marked PostEndInit method internal
+
+2004-05-07  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataSet.cs : 
+         In WriteXmlSchema(), when complex type contains simple type content
+         attributes must not added to XmlSchemaComplexType directly. It
+         causes schema compilation error.
+         DataRelation should not be output when related columns are hidden.
+
+2004-05-07  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XmlDataInferenceReader.cs : Added. It does InferXmlSchema() (it is
+         also expected to do ReadXml(), but I will remove that feature and
+         support column reordering).
+       * XmlSchemaDataImporter.cs : Always initialize dataset name.
+         Always set Nested and primary key for parent table.
+       * XmlDataReader.cs : Now it is used.
+         Top level element might not match to dataset name nor any table 
+         name, but still possible to read content tables.
+         Handle empty element correctly in some places.
+         Handle Fragment mode (read up XmlReader to the end).
+       * DataSet.cs : Modified InferXmlSchema() and ReadXml() to use
+         XmlDataInferenceLoader and XmlDataReader.
+
+2004-05-06  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataSet.cs :
+         Eliminated CRLF injection.
+         More clear message in Clear().
+         Updates reflecting XmlSchemaDataImporter change.
+         Added duplicate check for XmlSerializerNamespaces in BuildSchema().
+         Don't use xmlns attribute for UnhandledAttributes (its not mandatory
+         but that depends on different behavior from ms.net).
+         Set locale also for DataTable.
+         Add xs:element only when target namespace matches to the
+         element's namespace. Otherwise, add xs:import for external namespace.
+         Put xs:sequence for dataset element's particle _only when_ actual
+         contents exist.
+
+2004-05-06  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XmlDataReader.cs : Added. This class will work better when our
+         schema inference and schema read engine gets improved. (It contains
+         standalone testable Driver class.)
+
+2004-05-06  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ForeignKeyConstraint.cs : Check step change. Existence then column
+         validity. just for tests.
+       * XmlSchemaDataImporter.cs : code simplification. reduced extraneous
+         fields.
+
+2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataSet.cs : Ignore empty content only when output type is diffgram.
+
+2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * CustomDataClassGenerator.cs : Modified that DataSet contains each
+         DataTable field so that each table property can access them directly.
+         (plus, modified standalone code driver code: shouldn't affect)
+
+2004-05-05  Boris Kirzner  <borisk@mainsoft.com>
+
+       * DataView.cs , DataRowView.cs : Added implementation to basic methods and properties.
+         
+2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XmlSchemaDataImporter.cs : 
+         SimpleContent column support.
+         Annotated relation support.
+         Top-level element is counted only when its type is complex.
+         xs:anyType is no longer treated as complex type.
+         dataset existence is mandatory now. 
+         Improved DataType and DefaultValue support.
+         Attribute namespace is properly handled now.
+         Prohibited attribute is now treated as hidden column.
+         Reject list or union simple type.
+
+         Still incomplete 1) to read relationship in some cases, 2) to 
+         determine whether an element is dataset or table, 3) thus to
+         exclude extraneous column, 4) to remove extraneous *_Id column.
+
+2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataTable.cs :
+         We had better reuse DataSet's ReadXmlSchema() and ReadXml() in
+         serialization .ctor() (thus schema read/inference should be easier).
+         DataRowSorter should consider Table's Locale.
+
+2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataColumnCollection.cs : We already had AutoIncrementValue(), so
+         use it instead of duplicating logic.
+
+2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * ConstraintCollection.cs :
+         Use Table.CaseSensitive and Table.Locale to compare strings.
+         Duplicate constraint name exception does not occur under .NET 1.1.
+
+2004-05-04  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * XmlSchemaDataImporter.cs: Added little type check.
+
+2004-05-04  Lluis Sanchez Gual  <lluis@ximian.com>
+
+       * DataSet.cs: Implemented support for runtime serialization. Fixed support
+         for xml serialization.
+       * XmlDiffLoader.cs: Skip diffgram element when it is empty.
+
+2004-04-30  Umadevi S  <sumadevi@novell.com>
+       * DataColumnCollection.cs : Fixed nunit test errors, removed TODOs
+       * DataTableCollection.cs  : Tested and removed TODO
+       * TypedDataSetGeneratorException.cs : Fixed a couple of TODOs   
+
+2004-04-29  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataRow.cs : My previous patch unintentionally reverted Boris patch.
+
+2004-04-29  Boris Kirzner <borisk@mainsoft.com>
+
+       * UniqueConstraint.cs : Constraint columns becaomes unique after adding constraint ifand only if 
+       constraint is defined on single column.
+
+2004-04-29  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataRowCollection.cs : .NET 1.1 throws InvalidConstaintException,
+         not ArgumentException (maybe changed after 1.1).
+
+2004-04-29  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataRow.cs : When Column was added and it was AutoIncrement column,
+         it extended the item object array incorrectly.
+         (Plus tiny comment and incorrect indentation fix.)
+
+2004-04-29  Boris Kirzner <borisk@mainsoft.com>
+
+       * MergeManager.cs : added ( incomplete yet ) support for merging DataSet schema.
+
+2004-04-29  Boris Kirzner <borisk@mainsoft.com>
+
+       * DataRow.cs : Bug fix in CopyValuesToRow().
+       
+2004-04-29  Boris Kirzner <borisk@mainsoft.com>
+
+       * UniqueConstraint.cs : There is no reason to mark constraint's columns as unique, because
+         each of the columns should not be unique, but only all the constraint's columns together.
+       
+2004-04-28  Boris Kirzner <borisk@mainsoft.com>
+       * DataRow.cs :
+         - Perfomance fixes: 
+               - Added using of list of autoIncrement columns
+               - SetColumnValue receives also DataColumn to avoid duplicate lookup in DatacolumnCollection
+         - Fix in CheckNullConstraints
+         - Fix in this[] and HasVersion() : when evaluating an expression deleted rows values can be accessed.
+         - Fix in SetColumnValue() , added CanAccess() method to avoid case of accessing internal array values berore it actually allocated.
+         - Added onColumnRemoved() method to threat column removal accurately.
+       
+       * DataRowCollection.cs :
+         - Added using of DataRow._nullConstraintViolation (for perfomance fix in EndLoadData())
+         - Added method onColumnRemoved() - calls each row's onColumnRemoved() (to ensure column removal is treated accurately)
+       
+       * DataTable.cs :
+         - Call DataRowCollection.onColumnRemoved() in OnRemoveColumn() (to ensure column removal is treated accurately)
+       
+       * DataColumnCollection.cs :
+         - Perfomance fixes :
+               - collection holds a list of its autoIncrement columns (avoids unnesessary lookup through whole collection)
+               - collection holds mapping from column names to DataColumn objects (avoids lookup through whole collection).
+               - automatic creation of column names rewrited (bug fixes + perfomance improvement)
+       
+       * DataColumn.cs :
+         - Uses autoincrement list of a table
+
+2004-04-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XmlDataLoader.cs : Even when it should ignore schema, it was 
+         infering schema.
+       * XmlSchemaDataImporter.cs : DataRelation creation support.
+         Improved "DataSet" element handing. When attributes are on the
+         element, it is not a "DataSet" element.
+         Fixed parent key column name.
+         Unique name creation is not required. Just raise an error.
+         Fill facet also for attribute types.
+
+2004-04-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataRow.cs : Null check for CheckReadOnlyStatus() and
+         CheckNullConstraints(), with some coding guideline fixes.
+         Type check should be done by Type instance comparison.
+
+2004-04-27  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataColumnCollection.cs : When add a column to the collection, fill
+         auto-increment column.
+
 2004-04-26  Boris Kirzner <borisk@mainsoft.com>
 
        * DataColumn.cs : Small perfomance fix (avoid unnesessary string concatenation).