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

Attachment: 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

Reply via email to