Hey Veerapuram, I've attached a patch for the changes I mentioned. However, I found out that on the 1.0 profile we should still allow the value to be set to null if the datatype of the column is string. This matches the behavior before r107145.
Let me know if it's ok to commit. Gert -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Veerapuram Varadhan Sent: vrijdag 4 juli 2008 12:18 To: Gert Driesen Cc: 'mono-devel-list' Subject: Re: [Mono-dev] [Mono-patches] r107145 - trunk/mcs/class/System.Data/System.Data Hi Gert, On Thu, 2008-07-03 at 18:19 +0200, Gert Driesen wrote: > Hey Veerapuram, > > I don't think this change is correct. I've done some more tests, and this is > the behavior I'm seeing: > > * on 1.0 profile, you are never allowed to set value to NULL. > * on 2.0 profile, you are only allowed to set value to NULL if the column is > backed by a reference type. > > I'll add unit tests for this to DataRowTest2.cs in a few minutes, and mark > them NotWorking. > > Let me know if you want me to submit a patch that changes our implementation > accordingly. > That would be great. Feel free to submit tests and the patch. Thanks, V. Varadhan > Gert > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Veerapuram > Varadhan ([EMAIL PROTECTED]) > Sent: donderdag 3 juli 2008 15:38 > To: [EMAIL PROTECTED]; [EMAIL PROTECTED]; > [EMAIL PROTECTED] > Subject: [Mono-patches] r107145 - trunk/mcs/class/System.Data/System.Data > > Author: varadhan > Date: 2008-07-03 09:38:09 -0400 (Thu, 03 Jul 2008) > New Revision: 107145 > > Modified: > trunk/mcs/class/System.Data/System.Data/ChangeLog > trunk/mcs/class/System.Data/System.Data/DataRow.cs > Log: > Use DBNull value instead of throwing an exception > > > Modified: trunk/mcs/class/System.Data/System.Data/ChangeLog > =================================================================== > --- trunk/mcs/class/System.Data/System.Data/ChangeLog 2008-07-03 13:37:14 > UTC (rev 107144) > +++ trunk/mcs/class/System.Data/System.Data/ChangeLog 2008-07-03 13:38:09 > UTC (rev 107145) > @@ -1,3 +1,7 @@ > +2008-07-03 Marek Habersack <[EMAIL PROTECTED]> > + > + * DataRow.cs (this []): Use DBNull instead of throwing an exception > + > 2008-07-01 Rodrigo Kumpera <[EMAIL PROTECTED]> > > * DataTable.cs: Kill some foreach loops. > > Modified: trunk/mcs/class/System.Data/System.Data/DataRow.cs > =================================================================== > --- trunk/mcs/class/System.Data/System.Data/DataRow.cs 2008-07-03 13:37:14 > UTC (rev 107144) > +++ trunk/mcs/class/System.Data/System.Data/DataRow.cs 2008-07-03 13:38:09 > UTC (rev 107145) > @@ -178,9 +178,8 @@ > DataColumn column = > _table.Columns[columnIndex]; > _table.ChangingDataColumn (this, column, > value); > > - if (value == null && column.DataType != > typeof(string)) { > - throw new ArgumentException("Cannot > set column " + column.ColumnName + " to be null, Please use DBNull > instead"); > - } > + if (value == null && column.DataType != > typeof(string)) > + value = DBNull.Value; > _rowChanged = true; > > CheckValue (value, column); > > _______________________________________________ > Mono-patches maillist - [EMAIL PROTECTED] > http://lists.ximian.com/mailman/listinfo/mono-patches > _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list
datarow.patch
Description: Binary data
_______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list