Modified:
trunk/CHANGES
trunk/MySql.Data/Provider/Source/SchemaProvider.cs
trunk/MySql.Data/Tests/Source/GetSchemaTests.cs
Log:
- made integer column types returned with table and column collections use the same data type
when referencing MySql 4.1 servers and MySql 5.0+ servers (bug #44123)
Modified: trunk/CHANGES
===================================================================
--- trunk/CHANGES 2009-04-08 19:10:20 UTC (rev 1557)
+++ trunk/CHANGES 2009-04-08 20:36:25 UTC (rev 1558)
@@ -1,6 +1,8 @@
Version 6.0.3
- fixed broken connection prompting
- fixed installer that was no longer referencing the right folders for Visual Studio assemblies [bug #44141]
+- made integer column types returned with table and column collections use the same data type
+ when referencing MySql 4.1 servers and MySql 5.0+ servers (bug #44123)
Version 6.0.2
- fixed registration problem with Visual studio (bug #44064)
Modified: trunk/MySql.Data/Provider/Source/SchemaProvider.cs
===================================================================
--- trunk/MySql.Data/Provider/Source/SchemaProvider.cs 2009-04-08 19:10:20 UTC (rev 1557)
+++ trunk/MySql.Data/Provider/Source/SchemaProvider.cs 2009-04-08 20:36:25 UTC (rev 1558)
@@ -104,20 +104,20 @@
dt.Columns.Add("TABLE_NAME", typeof (string));
dt.Columns.Add("TABLE_TYPE", typeof (string));
dt.Columns.Add("ENGINE", typeof (string));
- dt.Columns.Add("VERSION", typeof (long));
+ dt.Columns.Add("VERSION", typeof (ulong));
dt.Columns.Add("ROW_FORMAT", typeof (string));
- dt.Columns.Add("TABLE_ROWS", typeof (long));
- dt.Columns.Add("AVG_ROW_LENGTH", typeof (long));
- dt.Columns.Add("DATA_LENGTH", typeof (long));
- dt.Columns.Add("MAX_DATA_LENGTH", typeof (long));
- dt.Columns.Add("INDEX_LENGTH", typeof (long));
- dt.Columns.Add("DATA_FREE", typeof (long));
- dt.Columns.Add("AUTO_INCREMENT", typeof (long));
+ dt.Columns.Add("TABLE_ROWS", typeof (ulong));
+ dt.Columns.Add("AVG_ROW_LENGTH", typeof (ulong));
+ dt.Columns.Add("DATA_LENGTH", typeof (ulong));
+ dt.Columns.Add("MAX_DATA_LENGTH", typeof (ulong));
+ dt.Columns.Add("INDEX_LENGTH", typeof (ulong));
+ dt.Columns.Add("DATA_FREE", typeof (ulong));
+ dt.Columns.Add("AUTO_INCREMENT", typeof (ulong));
dt.Columns.Add("CREATE_TIME", typeof (DateTime));
dt.Columns.Add("UPDATE_TIME", typeof (DateTime));
dt.Columns.Add("CHECK_TIME", typeof (DateTime));
dt.Columns.Add("TABLE_COLLATION", typeof (string));
- dt.Columns.Add("CHECKSUM", typeof (long));
+ dt.Columns.Add("CHECKSUM", typeof (ulong));
dt.Columns.Add("CREATE_OPTIONS", typeof (string));
dt.Columns.Add("TABLE_COMMENT", typeof (string));
@@ -147,14 +147,14 @@
dt.Columns.Add("TABLE_SCHEMA", typeof (string));
dt.Columns.Add("TABLE_NAME", typeof (string));
dt.Columns.Add("COLUMN_NAME", typeof (string));
- dt.Columns.Add("ORDINAL_POSITION", typeof (long));
+ dt.Columns.Add("ORDINAL_POSITION", typeof (ulong));
dt.Columns.Add("COLUMN_DEFAULT", typeof (string));
dt.Columns.Add("IS_NULLABLE", typeof (string));
dt.Columns.Add("DATA_TYPE", typeof (string));
- dt.Columns.Add("CHARACTER_MAXIMUM_LENGTH", typeof (long));
- dt.Columns.Add("CHARACTER_OCTET_LENGTH", typeof (long));
- dt.Columns.Add("NUMERIC_PRECISION", typeof (long));
- dt.Columns.Add("NUMERIC_SCALE", typeof (long));
+ dt.Columns.Add("CHARACTER_MAXIMUM_LENGTH", typeof (ulong));
+ dt.Columns.Add("CHARACTER_OCTET_LENGTH", typeof (ulong));
+ dt.Columns.Add("NUMERIC_PRECISION", typeof (ulong));
+ dt.Columns.Add("NUMERIC_SCALE", typeof (ulong));
dt.Columns.Add("CHARACTER_SET_NAME", typeof (string));
dt.Columns.Add("COLLATION_NAME", typeof (string));
dt.Columns.Add("COLUMN_TYPE", typeof (string));
Modified: trunk/MySql.Data/Tests/Source/GetSchemaTests.cs
===================================================================
--- trunk/MySql.Data/Tests/Source/GetSchemaTests.cs 2009-04-08 19:10:20 UTC (rev 1557)
+++ trunk/MySql.Data/Tests/Source/GetSchemaTests.cs 2009-04-08 20:36:25 UTC (rev 1558)
@@ -166,6 +166,15 @@
restrictions[1] = database0;
restrictions[2] = "test1";
DataTable dt = conn.GetSchema("Tables", restrictions);
+ Assert.IsTrue(dt.Columns["VERSION"].DataType == typeof(UInt64));
+ Assert.IsTrue(dt.Columns["TABLE_ROWS"].DataType == typeof(UInt64));
+ Assert.IsTrue(dt.Columns["AVG_ROW_LENGTH"].DataType == typeof(UInt64));
+ Assert.IsTrue(dt.Columns["DATA_LENGTH"].DataType == typeof(UInt64));
+ Assert.IsTrue(dt.Columns["MAX_DATA_LENGTH"].DataType == typeof(UInt64));
+ Assert.IsTrue(dt.Columns["INDEX_LENGTH"].DataType == typeof(UInt64));
+ Assert.IsTrue(dt.Columns["DATA_FREE"].DataType == typeof(UInt64));
+ Assert.IsTrue(dt.Columns["AUTO_INCREMENT"].DataType == typeof(UInt64));
+ Assert.IsTrue(dt.Columns["CHECKSUM"].DataType == typeof(UInt64));
Assert.IsTrue(dt.Rows.Count == 1);
Assert.AreEqual("Tables", dt.TableName);
Assert.AreEqual("test1", dt.Rows[0][2]);
@@ -183,6 +192,10 @@
DataTable dt = conn.GetSchema("Columns", restrictions);
Assert.AreEqual(4, dt.Rows.Count);
Assert.AreEqual("Columns", dt.TableName);
+ Assert.IsTrue(dt.Columns["ORDINAL_POSITION"].DataType == typeof(UInt64));
+ Assert.IsTrue(dt.Columns["CHARACTER_MAXIMUM_LENGTH"].DataType == typeof(UInt64));
+ Assert.IsTrue(dt.Columns["NUMERIC_PRECISION"].DataType == typeof(UInt64));
+ Assert.IsTrue(dt.Columns["NUMERIC_SCALE"].DataType == typeof(UInt64));
// first column
Assert.AreEqual(database0.ToUpper(), dt.Rows[0]["TABLE_SCHEMA"].ToString().ToUpper());
| Thread |
|---|
| • Connector/NET commit: r1558 - in trunk: . MySql.Data/Provider/Source MySql.Data/Tests/Source | rburnett | 8 Apr |