2004-09-19 Sureshkumar T <tsureshkumar@novell.com>
authorSureshkumar T <suresh@mono-cvs.ximian.com>
Sun, 19 Sep 2004 08:16:16 +0000 (08:16 -0000)
committerSureshkumar T <suresh@mono-cvs.ximian.com>
Sun, 19 Sep 2004 08:16:16 +0000 (08:16 -0000)
* DataRow.cs : while deserialization of dataset, adding a current row precedes the original row.
       hence, adding a row cache is necessary if the original row happens to be current.
       fixed bug #63097

svn path=/trunk/mcs/; revision=34061

mcs/class/System.Data/System.Data/ChangeLog
mcs/class/System.Data/System.Data/DataRow.cs

index 45e430a0b653f032a3ac0e957c7ba3228f1d73ea..7ac73d96183007ad9290aade8ec51966813b1d2e 100644 (file)
@@ -1,3 +1,8 @@
+2004-09-19  Sureshkumar T <tsureshkumar@novell.com>
+       * DataRow.cs : while deserialization of dataset, adding a current row precedes the original row.
+                      hence, adding a row cache is necessary if the original row happens to be current.
+                      fixed bug #63097
+
 2004-08-23  Martin Baulig  <martin@ximian.com>
 
        * XmlDataInferenceLoader.cs (Driver): Make this class internal,
index 382659bbcfc471e1e5dc134a7662ae45983e51f7..830f765e2a08bd8dfcb72633ce314c4aa5369474 100644 (file)
@@ -489,7 +489,8 @@ namespace System.Data {
                        DataColumn column = _table.Columns[columnName];
                        _table.ChangingDataColumn (this, column, val);
                                
-                       if (_original < 0) { 
+                       if (_original < 0 || _original == _current) { 
+                               // This really creates a new record version if one does not exist
                                _original = Table.RecordCache.NewRecord();
                        }
                        CheckValue (val, column);