New tests, updates
[mono.git] / mcs / class / System.Data / System.Data / ChangeLog
index 29ec03c3670c1de730e75dbfbc86334b240516bb..c31755a1c29418146ce8615086808d7495d0c850 100644 (file)
@@ -1,3 +1,360 @@
+2009-05-16  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes #325464 - ToolItems.xsd
+       * CustomDataClassGenerator.cs (CreateDataSetTableMembers): Prefix a "_" to 
+       member names when it is same as that of the dataset.  Fixes the CS0542 error
+       during compilation of the generated source.
+       
+2009-03-25  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataView.cs: Fire ListChanged when the RowFilter changes.
+       [Fixes bug #479405]
+
+2009-02-24  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * *Fixes #377146 - in a better way
+       * XmlDataReader.cs (ReadElementElement): For reference types that
+       implement IXmlSerializable, call the corresponding ReadXml.
+       * DataSet.cs (WriteColumnAsElement): For reference types that implement 
+       IXmlSerializable, call the corresponding WriteXml.
+       
+2009-02-24  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * Fixes #476523
+       * DbType.cs: Add DateTime2 and DateTimeOffset - 3.5 additions
+       Patch by Jay Wren <jrwren@xmtp.net>
+       
+2009-01-05  Raja R Harinath  <harinath@hurrynot.org>
+
+       * DataRelationCollection.cs (BinarySerialize): New.  Carved out of ...
+       * DataSet.cs (BinarySerialize): ... this.
+
+2009-01-04  Raja R Harinath  <harinath@hurrynot.org>
+
+       * DataRelationCollection.cs: Sequester NET_2_0 and NET_1_1
+       specific code into separate parts.
+
+       * DataTableCollection.cs (BinarySerialize_Schema): New.
+       (BinarySerialize_Data): Likewise.  Carved out of ...
+       * DataSet.cs (BinarySerialize): ... this.
+
+2009-01-04  Raja R Harinath  <harinath@hurrynot.org>
+
+       * DataTableCollection.cs: Sequester NET_2_0 and NET_1_1 specific
+       code into separate parts.
+
+2009-01-02  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataViewManager.cs: Implement all MonoTODO. Fixes the WinForms 
+       DataBinding unit tests.
+
+2009-01-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * DataViewManager.cs: Hookup to the table/relations changed events and 
+       raise ListChanged events accordingly.
+
+2008-12-30  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DBConcurrencyException.cs: Marked .ctor taking DataRow [] as
+       internal so we can use it on the 1.0 profile (internally). Implemented
+       RowCount.
+
+2008-12-29  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SqlDbType: Added Date and Time (2.0 only).
+
+2008-11-18  Raja R Harinath  <harinath@hurrynot.org>
+
+       Fix #420862
+       * XmlConstants.cs (QnUnsignedShort): Rename from QnUsigned short
+       and fix the value too.
+       * XmlSchemaWriter.cs (XmlQualifiedName): Update to changes.
+
+2008-09-27  Raja R Harinath  <harinath@hurrynot.org>
+
+       * DataView.cs: Convert into a partial class and sequester
+       interface-implementations and NET_2_0 pieces into separate parts.
+
+2008-09-16  brandin claar  <brandin.claar@gmail.com>
+           Raja R Harinath  <harinath@hurrynot.org>
+
+       * DataTable.cs (BinarySerialize): Handle empty DataTables.
+       (DeserializeRecords): Likewise.
+       (BinaryDeserializeTable): Allow DefaultValue to be set to any value.
+
+2008-09-12  Raja R Harinath  <harinath@hurrynot.org>
+
+       * DataTable.cs (NewRowAdded): Make into partial method.
+       (DataTableClearing, DataTableCleared): New partial methods.
+       (Clear): Use them.
+
+       * DataTable.cs: Sequester ISupportInitializationNotification
+       pieces into separate part.
+       (DataTableInitialized): Turn into a 'partial method' to avoid #ifs.
+
+       * DataTable.cs (AssertNotNullConstraints): Hoist out a more useful
+       loop-invariant by inverting loops.
+       (RowExists): Outdent.  Rewrite for slightly better clarity.
+       (BeginLoadData): Outdent.
+       (GetChanges): Outdent.  Replace GetEnumerator/while with foreach.
+
+       * DataTable.cs: Convert to a partial class, sequester NET_2_0
+       specific and IXmlSerializable specific pieces into separate parts.
+
+2008-09-07  Raja R Harinath  <harinath@hurrynot.org>
+
+       * DataSet.cs: Convert to a partial class and sequester NET_2_0
+       pieces into a separate part.
+
+       * DataRowView.cs: Convert to a partial class, and sequester
+       NET_2_0 parts into a separate part.  Use partial classes instead
+       of ugly #region directives.
+       (Item): Remove redundant attributes.  Cleanup slightly.
+
+2008-09-05  Raja R Harinath  <harinath@hurrynot.org>
+
+       * DataRowCollection.cs (RemoveInternal): Update RowIDs of rows
+       after the deleted row.
+       (IndexOf): Avoid loop to search for a row, since we already know
+       where a row is: its RowID.
+       (Remove): Use IndexOf rather than List.Contains.
+
+       * DataRowCollection.cs (InsertRow): Delegate setting of RowId
+       to the row itself.  Use 'row.AttachAt' instead of 'row.AttachRow'.
+       (AddInternal): Likewise.  Also delegate handling of
+       ChangeCurrentAndOriginal to AttachAt.
+       * DataRow.cs (AttachAt): Rename from AttachRow.  Set rowId from
+       passed-in id.  Handle ChangeCurrentAndOriginal and ChangeOriginal
+       actions.
+
+       * DataRow.cs (_hasParentCollection): Remove.  Implied by _rowId >= 0.
+       (HasParentCollection): Remove.
+       * DataRowCollection.cs (AddInternal, InsertAt): Update to changes.
+
+       * DataTable.cs (NewRowArray): Special case size == 0 to avoid
+       creating a lot of garbage.
+
+       * DataRow.cs (Detach): Rename from DetachRow.  Make private.
+       Simplify code to be more uniform.  Move common prefix code here ...
+       (AcceptChanges) [Deleted]: ... from here ...
+       (Delete) [Added]: ... and here ...
+       (RejectChanges) [Added]: ... and here.
+
+2008-09-04  Raja R Harinath  <harinath@hurrynot.org>
+
+       * DataRow.cs (CheckChildRows) <1-arg variant>: Remove excessive
+       indentation.
+       (CheckChildRows) <3-arg variant>: Likewise.  Move/split loop
+       inside a switch.
+       (EndEdit): Out-dent some code.
+       (IsNullColumns): Simplify slightly.
+
+       * DataRelationCollection.cs (CanRemove): Simplify slightly.
+
+       * DataRelation.cs (CheckStateForProperty): Use the childColumn to
+       get the child table.
+
+       * DataColumn.cs (AllowDBNull.set): Rearrange code to be more readable.
+       (AutoIncrement.set): Likewise.
+       (Caption): Likewise.
+       (SetDefaultValue): Likewise.
+
+2008-08-28  Raja R Harinath  <harinath@hurrynot.org>
+
+       * Constraint.cs (SetExtendedProperties): New internal method.
+       Move here from ...
+       (ExtendedProperties.set): ... here.  Kill a #ifdef.
+       * DataTable.cs (DeserializeConstraints): Update to changes.
+
+2008-08-27  Raja R Harinath  <harinath@hurrynot.org>
+
+       * ConstraintCollection.cs (Item) <string variant>: Don't incur
+       additional check for index that's returned by 'IndexOf'.
+       (_createNewConstraintName): Improve readability of code.
+       (_isDuplicateConstraintName): Perform cheaper test first.
+
+       * ConstraintCollection.cs: Reduce some #ifdef by using partial
+       classes.  Move 'sealed' and '[Serializable]' to appropriate
+       partial class declarations.
+       * DataRowCollection.cs: Likewise.
+
+2008-08-13  Marek Habersack  <mhabersack@novell.com>
+
+       * DataRow.cs: do not check whether a column is read-only when
+       importing a record.
+
+2008-08-08  Raja R Harinath  <harinath@hurrynot.org>
+
+       * DataColumn.cs: Update to changes in DataCollection.
+
+2008-07-29  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       Fixes ##377146
+       * XmlDataReader.cs (ReadElementElement): Handle custom reference types sanely.
+
+2008-07-20  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataColumnCollection.cs (IndexOf): Include name of column - for which
+       there are multiple matches in a different case - in the exception
+       message.
+       * DataRow.cs (this [int]): On 2.0 profile, throw ArgumentException if
+       value is null and datatype of column is a value type. On 1.0 profile,
+       only allow null value if datatype of column is string. Do not replace
+       value with DBNull.Value if value is null.
+
+2008-07-04  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataRow.cs: Use indexer of DataColumnCollection instead of IndexOf.
+       Cosmetic changes to exception message.
+       * DataColumnCollection.cs: Fixed off by one error in index check. Added
+       null check in name indexer. In Clear, also reset columnNameCount and
+       defaultColumnIndex.
+
+2008-07-03  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataRow.cs: Added missing null checks. Cosmetic changes to exception
+       messages.
+
+2008-07-03  Marek Habersack  <mhabersack@novell.com>
+
+       * DataRow.cs (this []): Use DBNull instead of throwing an exception
+       
+2008-07-01  Rodrigo Kumpera  <rkumpera@novell.com>
+
+       * DataTable.cs: Kill some foreach loops.
+       
+       * DataRow.cs: Same.
+
+2008-07-01  Marek Safar  <marek.safar@gmail.com>
+
+       * DataColumnCollection.cs: Made few simple optimizations.
+
+2008-06-28  Zoltan Varga  <vargaz@gmail.com>
+
+       * DataTable.cs (NewRowArray): Avoid using reflection if possible.
+
+2008-06-19  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataRelation.cs : keep createConstraints flag for cloning in
+         DataSet.Merge(). Use different flag for initialization instead.
+       * MergeManager.cs : When cloning DataRelation, createConstraints
+         flag should depend on the source.
+       * XmlSchemaDataImporter.cs : create constraints when creating
+         DataRelation.
+
+2008-06-18  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataSet.cs : when InferSchema mode, ReadXml() should do "merging
+         inference".
+       * XmlDataInferenceLoader.cs : fixed primary key processing in
+         merging inference mode. Reuse existing one, instead of rejecting
+         such a table.
+
+2008-06-17  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * XmlSchemaWriter.cs, DataSet.cs, XmlTableWriter.cs, DataTable.cs,
+         XmlDataInferenceLoader.cs, XmlSchemaDataImporter.cs:
+         fix xsd output on msdata:Locale and msdata.UseCurrentCulture.
+         Output explicit Locale only when it is explicitly specified.
+         On the other hand, ReadXml/ReadXmlSchema fills Locale as en-US
+         by default (on .NET).
+         Some code unification in DataTable.WriteXmlSchema() overloads.
+
+2008-06-16  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataColumn.cs : replaced Activator.CreateInstance() with
+         returning explicit Null member for each SqlXxx type.
+
+2008-06-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataColumn.cs
+         DefaultValue can be non-DBNull. For SqlXxx type, it becomes
+         SqlXxx.Null. Also, changing DataType may change DefaultValue
+         to be consistent with the new type (say, having int DefaultValue
+         for new string DataType is wrong).
+
+       * XmlSchemaWriter.cs
+         This should be fixed to take non-DBNull default value into
+         consideration.
+
+2008-06-12  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * DataSet.cs, DataTable.cs, XmlSchemaDataImporter.cs : constraints
+         on missing tables are ignored when reading a DataTable schema.
+         Fixes part of DataTableTest.ReadXmlSchema() test.
+
+2008-05-30  Marek Habersack  <mhabersack@novell.com>
+
+       * Constraint.cs: do not use synthetized event accessors (to avoid
+       locks).
+
+2008-05-29  Marek Habersack  <mhabersack@novell.com>
+
+       * DataColumn.cs: do not use synthetic methods for events - this
+       avoids unnecessary locking, especially for internal events.
+
+2008-04-21  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataRowView.cs: Modified argument names to match MS. Use 
+       String.Empty instead of "". Code formatting.
+
+2008-04-16  Veerapuram Varadhan <vvaradhan@novell.com>
+
+       * XmlDataInferenceLoader.cs (ReadXml): Make sure the name of
+       reference key column(s) in child tables are unique.
+
+       * XmlSchemaWriter.cs (WriteSchema, WriteDataSetElement,
+       WriteTableType, WriteChildRelations): Handle the scenario wherein
+       we have a relation and only one table.  This can occur when we
+       have an XML with same parent/child table names. 
+       
+2008-03-31  Veerapuram Varadhan <vvaradhan@novell.com>
+
+       * DataView.cs: Reverting rev#98474 changes - as it broke quite a
+       few test profiles.
+       
+2008-03-23  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataSet.cs: Corcompare fix.
+       * IDataRecord.cs: Corcompare fix.
+
+2008-03-22  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * DataViewSettingCollection.cs: Corcompare fixes and code formatting.
+       * SyntaxErrorException.cs: Corcompare fixes and code formatting.
+       * EvaluateException.cs: Corcompare fixes and code formatting.
+       * StrongTypingException.cs: Coecompare fixes and code formatting.
+       * ReadOnlyException.cs: Corcompare fixes and code formatting.
+       * DataTableCollection.cs: Corcompare fixes and code formatting.
+       * MissingPrimaryKeyException.cs: Corcompare fixes and code formatting.
+       * DeletedRowInaccesibleException.cs: Corcompare fixes and code
+       formatting.
+       * DataSet.cs: Corcompare fixes and code formatting.
+       * DuplicateNameException.cs: Corcompare fixes and code formatting.
+       * DataView.cs: Corcompare fixes and code formatting.
+       * VersionNotFoundException.cs: Corcompare fixes and code formatting.
+       * MergeFailedEventArgs.cs: Corcomare fixes and code formatting.
+       * InvalidExpressionException.cs: Corcompare fixes and code formatting.
+       * DBConcurrencyException.cs: Corcompare fixes and code formatting.
+       * DataRowView.cs: Corcompare fixes and code formatting.
+       * DataViewManager.cs: Corcompare fixes and code formatting.
+       * ConstraintException.cs: Corcompare fixes and code formatting.
+       * InvalidConstraintException.cs: Corcompare fixes and code formatting.
+       * IDataRecord.cs: Corcompare fixes.
+       * RowNotInTableException.cs: Corcompare fixes and code formatting.
+       * TypeDataSetGeneratorException.cs: Corcompare fixes and code
+       formatting.
+       * InRowChangingEventException.cs: Corcompare fixes and code formatting.
+       * NoNullAllowedException.cs: Corcompare fixes and code formatting.
+       * DataException.cs: Corcompare fixes and code formatting.
+
+2008-03-17  Veerapuram Varadhan <vvaradhan@novell.com>
+       
+       ** Fixes part1 of #357947
+       * DataView.cs: (OnRowDeleted): Don't call update, instead delete the row 
+       directly from Index.  Peformance fix submitted by Hubert FONGARNAND 
+       <informatique.internet@fiducial.fr>.
+
 2008-02-04 Arina Itkes <arinai@mainsoft.com>
        
        * DataTable.cs: Fix for IXmlSerializable.ReadXml.
        * DataTable.cs (WriteXmlSchema): Using XmlTextWriter instead of
        XmlWriter, solved the File Sharing IO Exception.
 
-2006-11-28     Hubert FONGARNAND, Frédéric Mestayer <informatique.internet@fiducial.fr>
+2006-11-28     Hubert FONGARNAND, FrAcdAcric Mestayer <informatique.internet@fiducial.fr>
 
        * DataColumnCollection.cs : Improved Column searching when not
        using exact column name (case sensitivity). Fixes bug # 80075.
        * IDataSources.cs:
                New 1.2 class added
 
-2003-11-21  Pedro Martínez Juliá  <yoros@wanadoo.es>
+2003-11-21  Pedro Martinez Julia  <yoros@wanadoo.es>
 
        * DataRow.cs: Detached row can be accesible (new rows from data
        table are detached). Closes but #51263.
        *UniqueConstraint.cs : throw correct exception.
        
 
-2003-11-09  Pedro Martínez Juliá  <yoros@wanadoo.es>
+2003-11-09  Pedro Martinez Julia  <yoros@wanadoo.es>
 
        * DataRow.cs: Use RemoveInternal instead of Remove because the last
        one uses 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á  <yoros@wanadoo.es>
+2003-11-09  Pedro Martinez Julia  <yoros@wanadoo.es>
 
        * DataRowCollection.cs: To follow the specification: Remove and
        RemoveAt should remove the row. But needed to call DeletingDataRow
        * DataRow.cs: Don't call DeletingDataRow when it is called by the
        method Table.Rows.Remove.
 
-2003-11-09  Pedro Martínez Juliá  <yoros@wanadoo.es>
+2003-11-09  Pedro Martinez Julia  <yoros@wanadoo.es>
 
        * DataRowCollection.cs: Make the row be deleted by itself. If not,
        it fails because we need to call OnRowDeleting and OnRowDeleted. It
        is added to collection before it hava TableName. So using 
        HashTable is impossible.
        
-2002-11-19  Carlos Guzmán Álvarez <carlosga@telefonica.net>
+2002-11-19  Carlos Guzman Alvarez <carlosga@telefonica.net>
 
        * DataRow.cs: an object that is equal to null 
        should be allowed to be set in this indexer too