2005-10-17 Senganal T <tsenganal@novell.com>
authorSenganal T <senga@mono-cvs.ximian.com>
Mon, 17 Oct 2005 09:23:19 +0000 (09:23 -0000)
committerSenganal T <senga@mono-cvs.ximian.com>
Mon, 17 Oct 2005 09:23:19 +0000 (09:23 -0000)
* Test/ProviderTests/System.Data.SqlClient/SqlDataAdapterTest.cs :
- Added Testcase for bug #76433.

* In System.Data.Common/DbDataAdapter.cs :
- BuildSchema() : Set the value of DataColumn Property 'AllowDBNull'
as returned by database. Fixes bug#76433.

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

mcs/class/System.Data/System.Data.Common/ChangeLog
mcs/class/System.Data/System.Data.Common/DbDataAdapter.cs
mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/ChangeLog
mcs/class/System.Data/Test/ProviderTests/System.Data.SqlClient/SqlDataAdapterTest.cs

index 326d5690d31c2821609f484f7c6dcf9a3b1e7264..0a3bc5b05c66b4c40ec7b94ff4f2d20a7b7d24ad 100644 (file)
@@ -1,3 +1,9 @@
+2005-10-14  Senganal T  <tsenganal@novell.com>
+
+       * DbDataAdapter.cs : 
+               - BuildSchema() : Set the value of DataColumn Property 'AllowDBNull'
+               as returned by database. Fixes bug#76433. 
+
 2005-09-21 Boris Kirzner <borisk@mainsoft.com>
        * Index.cs: 
                - Rebuild index immediately after construction.
index 6d742f8fc9d9cd003e564500cd6b51efba1b771b..6995d97fbdfd6b39318d1bbd072fe4cbbad5126b 100644 (file)
@@ -632,6 +632,7 @@ namespace System.Data.Common {
 
                                                        object value = (AllowDBNullCol != null) ? schemaRow[AllowDBNullCol] : null;
                                                        bool allowDBNull = value is bool ? (bool)value : true;
+                                                       col.AllowDBNull = allowDBNull; 
                                                        value = (IsKeyCol != null) ? schemaRow[IsKeyCol] : null;
                                                        bool isKey = value is bool ? (bool)value : false;
 
index 17e57495b3a6f71e61c9371fdad632bb5fb874af..bf4f2fc9cc5e6d4d48dc99ab5a432c61be2bd7c1 100644 (file)
@@ -1,3 +1,7 @@
+2005-10-17  Senganal T  <tsenganal@novell.com>
+
+       * SqlDataAdapterTest.cs : Added Testcase for bug #76433.
+
 2005-09-24  Sureshkumar T  <tsureshkumar@novell.com>
 
        * SqlDataAdapterTest.cs (Fill_Test_Exceptions): passing null
index a476bb72ea800242db0a8aa1e08d61defce85c19..50999c64ef9cb21dcd6ad877d3436079372e6a3c 100644 (file)
@@ -630,5 +630,35 @@ namespace MonoTests.System.Data.SqlClient
                        Assert.AreEqual (1, data.Tables[0].Rows.Count,
                                "#10 Data shud be populated if mapping is correct");
                }
+
+               // Test case for bug #76433 
+               [Test]
+               public void FillSchema_ValuesTest()
+               {
+                       SqlConnection conn = new SqlConnection(connectionString);
+                       using (conn) {
+                               conn.Open();
+                               IDbCommand command = conn.CreateCommand();
+
+                               // Create Temp Table
+                               String cmd = "Create Table #tmp_TestTable (" ;
+                               cmd += "Field1 DECIMAL (10) NOT NULL,";
+                               cmd += "Field2 DECIMAL(19))";
+                               command.CommandText = cmd; 
+                               command.ExecuteNonQuery();
+
+                               DataSet dataSet = new DataSet();
+                               string selectString = "SELECT * FROM #tmp_TestTable";
+                               IDbDataAdapter dataAdapter = new SqlDataAdapter (
+                                                                       selectString,conn);
+                               dataAdapter.FillSchema(dataSet, SchemaType.Mapped);
+
+                               Assert.AreEqual (1, dataSet.Tables.Count, "#1");
+
+                               DataColumn col = dataSet.Tables[0].Columns[0]; 
+                               Assert.IsFalse (dataSet.Tables[0].Columns[0].AllowDBNull,"#2");
+                               Assert.IsTrue (dataSet.Tables[0].Columns[1].AllowDBNull,"#3");
+                       }
+               }
        }
 }