[Mono-dev] [Mono-patches] r107145 - trunk/mcs/class/System.Data/System.Data

Veerapuram Varadhan vvaradhan at novell.com
Wed Jul 9 02:42:49 EDT 2008


Hi Gert,

On Fri, 2008-07-04 at 21:35 +0200, Gert Driesen wrote:
> 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.
> 
In case of 2.0 profile, in case of reference types, we have to set value
to DBNull instead of NULL - which the patch is missing. Except that,
patch looks good - please commit along with the mentioned changes.

Thanks,

V. Varadhan

> Gert
> 
> -----Original Message-----
> From: mono-devel-list-bounces at lists.ximian.com
> [mailto:mono-devel-list-bounces at lists.ximian.com] 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: mono-patches-bounces at lists.ximian.com
> > [mailto:mono-patches-bounces at lists.ximian.com] On Behalf Of Veerapuram
> > Varadhan (vvaradhan at novell.com)
> > Sent: donderdag 3 juli 2008 15:38
> > To: mono-patches at lists.ximian.com; ximian.monolist at gmail.com;
> > mono-svn-patches-garchive-20758 at googlegroups.com
> > 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  <mhabersack at novell.com>
> > +
> > +	* DataRow.cs (this []): Use DBNull instead of throwing an exception
> > +	
> >  2008-07-01  Rodrigo Kumpera  <rkumpera at novell.com>
> >  
> >  	* 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  -  Mono-patches at lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/mono-patches
> > 
> 
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list



More information about the Mono-devel-list mailing list