List:Commits« Previous MessageNext Message »
From:rburnett Date:February 28 2006 11:55pm
Subject:Connector/NET commit: r205 - in branches/1.0: . TestSuite mysqlclient mysqlclient/Types
View as plain text  
Modified:
   branches/1.0/CHANGES
   branches/1.0/TestSuite/StoredProcedure.cs
   branches/1.0/mysqlclient/MysqlDefs.cs
   branches/1.0/mysqlclient/StoredProcedure.cs
   branches/1.0/mysqlclient/Types/MySqlValue.cs
   branches/1.0/mysqlclient/parameter.cs
Log:
Fixed Bug #17749 There is no char type in MySqlDbType 

MySqlDefs.cs: renamed String enum to Char
Parameter.cs: switched usage of MySqlDbType.String to MySqlDbType.Char
MySqlClient/StoredProcedure.cs: added case for "char" in parameter list
MySqlValue.cs: switched usage of MySqlDbType.String to MySqlDbType.Char
TestSuit/StoredProcedure.cs: Added char to the DeriveParameters test case


Modified: branches/1.0/CHANGES
===================================================================
--- branches/1.0/CHANGES	2006-02-28 22:30:48 UTC (rev 204)
+++ branches/1.0/CHANGES	2006-02-28 22:55:05 UTC (rev 205)
@@ -1,6 +1,7 @@
     Bug #16659 Can't use double quotation marks(") as password access server by Connector/NET [fixed]
     Bug #17375 CommandBuilder ignores Unsigned flag at Parameter creation [fixed]
-
+    Bug #17749 There is no char type in MySqlDbType [fixed]
+    
 x-xx-05 - Version 1.0.7
 
     Bugs fixed or addressed

Modified: branches/1.0/TestSuite/StoredProcedure.cs
===================================================================
--- branches/1.0/TestSuite/StoredProcedure.cs	2006-02-28 22:30:48 UTC (rev 204)
+++ branches/1.0/TestSuite/StoredProcedure.cs	2006-02-28 22:55:05 UTC (rev 205)
@@ -478,16 +478,23 @@
 		[Test]
 		public void DeriveParameters()
 		{
+			execSQL("DROP TABLE IF EXISTS test2");
+			execSQL("CREATE TABLE test2 (c CHAR(20))");
+			execSQL("INSERT INTO test2 values ( 'xxxx')");
+			MySqlCommand cmd2 = new MySqlCommand("SELECT * FROM test2", conn);
+			MySqlDataReader reader =cmd2.ExecuteReader();
+			reader.Close();
+
 			execSQL("CREATE PROCEDURE spTest(IN \r\nvalin DECIMAL(10,2), " +
 				"\nIN val2 INT, INOUT val3 FLOAT, OUT val4 DOUBLE, INOUT val5 BIT, " +
-				"val6 VARCHAR(155), val7 SET('a','b')) BEGIN SELECT 1; END");
+				"val6 VARCHAR(155), val7 SET('a','b'), val8 CHAR) BEGIN SELECT 1; END");
 
 			MySqlCommand cmd = new MySqlCommand("spTest", conn);
 			cmd.CommandType = CommandType.StoredProcedure;
 			MySqlDataAdapter da = new MySqlDataAdapter(cmd);
 			MySqlCommandBuilder.DeriveParameters(cmd);
 
-			Assert.AreEqual(7, cmd.Parameters.Count);
+			Assert.AreEqual(8, cmd.Parameters.Count);
 			Assert.AreEqual("valin", cmd.Parameters[0].ParameterName);
 			Assert.AreEqual(ParameterDirection.Input, cmd.Parameters[0].Direction);
 			Assert.AreEqual(MySqlDbType.NewDecimal, cmd.Parameters[0].MySqlDbType);
@@ -515,6 +522,10 @@
 			Assert.AreEqual("val7", cmd.Parameters[6].ParameterName);
 			Assert.AreEqual(ParameterDirection.Input, cmd.Parameters[6].Direction);
 			Assert.AreEqual(MySqlDbType.Set, cmd.Parameters[6].MySqlDbType);
+
+			Assert.AreEqual("val8", cmd.Parameters[7].ParameterName);
+			Assert.AreEqual(ParameterDirection.Input, cmd.Parameters[7].Direction);
+			Assert.AreEqual(MySqlDbType.Char, cmd.Parameters[7].MySqlDbType);
 		}
 
 		/// <summary>
@@ -657,5 +668,6 @@
 			Assert.AreEqual("First record", dt.Rows[0]["name"]);
 			Assert.AreEqual("Second record", dt.Rows[1]["name"]);
 		}
+
 	}
 }

Modified: branches/1.0/mysqlclient/MysqlDefs.cs
===================================================================
--- branches/1.0/mysqlclient/MysqlDefs.cs	2006-02-28 22:30:48 UTC (rev 204)
+++ branches/1.0/mysqlclient/MysqlDefs.cs	2006-02-28 22:55:05 UTC (rev 205)
@@ -149,7 +149,7 @@
 		/// <summary>A variable-length string containing 0 to 255 characters</summary>
 		VarChar     = 253,
 		/// <summary><b>Obsolete</b>  Use VarChar type</summary>
-		String      = 254,
+		Char        = 254,
 		/// <summary></summary>
 		Geometry	= 255,
 		/// <summary></summary>

Modified: branches/1.0/mysqlclient/StoredProcedure.cs
===================================================================
--- branches/1.0/mysqlclient/StoredProcedure.cs	2006-02-28 22:30:48 UTC (rev 204)
+++ branches/1.0/mysqlclient/StoredProcedure.cs	2006-02-28 22:55:05 UTC (rev 205)
@@ -296,6 +296,7 @@
 
 			switch (typename)
 			{
+				case "char" : return MySqlDbType.Char;
 				case "varchar": return MySqlDbType.VarChar;
 				case "date": return MySqlDbType.Date;
 				case "datetime": return MySqlDbType.Datetime;

Modified: branches/1.0/mysqlclient/Types/MySqlValue.cs
===================================================================
--- branches/1.0/mysqlclient/Types/MySqlValue.cs	2006-02-28 22:30:48 UTC (rev 204)
+++ branches/1.0/mysqlclient/Types/MySqlValue.cs	2006-02-28 22:55:05 UTC (rev 205)
@@ -159,7 +159,7 @@
 
 				case MySqlDbType.Set:
 				case MySqlDbType.Enum:
-				case MySqlDbType.String:
+				case MySqlDbType.Char:
 				case MySqlDbType.VarChar: 
 					return new MySqlString(null, type);
 

Modified: branches/1.0/mysqlclient/parameter.cs
===================================================================
--- branches/1.0/mysqlclient/parameter.cs	2006-02-28 22:30:48 UTC (rev 204)
+++ branches/1.0/mysqlclient/parameter.cs	2006-02-28 22:55:05 UTC (rev 205)
@@ -360,7 +360,7 @@
 				case MySqlDbType.LongBlob:
 				case MySqlDbType.Blob: dbType = DbType.Object; break;
 
-				case MySqlDbType.String: dbType = DbType.StringFixedLength; break;
+				case MySqlDbType.Char: dbType = DbType.StringFixedLength; break;
 			}
 		}
 
@@ -375,7 +375,7 @@
 				case DbType.String: mySqlDbType = MySqlDbType.VarChar; break;
 
 				case DbType.AnsiStringFixedLength:
-				case DbType.StringFixedLength: mySqlDbType = MySqlDbType.String; break;
+				case DbType.StringFixedLength: mySqlDbType = MySqlDbType.Char; break;
 
 				case DbType.Boolean:
 				case DbType.Byte: 

Thread
Connector/NET commit: r205 - in branches/1.0: . TestSuite mysqlclient mysqlclient/Typesrburnett28 Feb