Bug #24565 Inferring DbType fails when reusing commands and the first time the value is nul
| Submitted: | 24 Nov 2006 3:20 | Modified: | 4 Dec 2006 13:22 |
|---|---|---|---|
| Reporter: | John Baro | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / NET | Severity: | S2 (Serious) |
| Version: | 1.0.7/1.0.8 | OS: | Windows (Windows) |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | command, MySqlBinary, Parameter | ||
[24 Nov 2006 3:20]
John Baro
[24 Nov 2006 14:05]
Tonci Grgin
Hi John and thanks for your problem report. Please provide following: - MySQL server version and host OS - NET fw version - Small but complete test case showing this error every time
[26 Nov 2006 21:53]
John Baro
Server version is 5.0.24a-Debian_9-log (results of SELECT @@VERSION)
Host OS is Ubuntu 6.10
Framework is 2.0.50727
Example project:
/*
CREATE TABLE BlackHole(
UniverseEnding BIT NULL
);
*/
using System;
using System.Collections.Generic;
using System.Text;
using MySql.Data.MySqlClient;
namespace MySqlBugDemo
{
class Program
{
static void Main(string[] args)
{
using (MySqlConnection connection = new MySqlConnection("server=<server>; user id=<user>; password=<password>; database=<db>"))
{
connection.Open();
using (MySqlCommand command = connection.CreateCommand())
{
command.CommandText = "INSERT INTO BlackHole(UniverseEnding) VALUES(?UniverseEnding)";
MySqlParameter param = new MySqlParameter("?UniverseEnding", DBNull.Value);
command.Parameters.Add(param);
command.ExecuteNonQuery();
param.Value = true;
command.ExecuteNonQuery(); //fails
Console.WriteLine("Should have failed by now, otherwise the universe has ended");
Console.Read();
}
}
}
}
}
[27 Nov 2006 11:31]
Tonci Grgin
Hi John. Verified as described by reporter with test case provided on latest connector/NET sources. >If the command gets executed with a value of DbNull.Value then the valueObject is incorrectly set as MySqlBinary (default) which will only work for Byte, String and Char[]. If I may add, MySQLDBType is set to BLOB which leads to Binary flag set as it is default value.
[29 Nov 2006 17:45]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/16132
[29 Nov 2006 17:45]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/16133
[29 Nov 2006 17:46]
Reggie Burnett
Fixed in 1.0.9 and 5.0.3
[4 Dec 2006 13:22]
MC Brown
A note has been added to the 1.0.9 and 5.0.3 changelogs.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.041 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.