From: Date: February 28 2006 11:55pm Subject: Connector/NET commit: r205 - in branches/1.0: . TestSuite mysqlclient mysqlclient/Types List-Archive: http://lists.mysql.com/commits/3284 X-Bug: 17749 Message-Id: <200602282255.k1SMt5wh008231@bk-internal.mysql.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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); } /// @@ -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 @@ /// A variable-length string containing 0 to 255 characters VarChar = 253, /// Obsolete Use VarChar type - String = 254, + Char = 254, /// Geometry = 255, /// 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: