Bug #14160 Can't do an insert into 5.0.13-rc-nt when using a varchar column.
Submitted: 19 Oct 2005 23:26 Modified: 15 Dec 2005 20:57
Reporter: Gudmundur Hauksson Email Updates:
Status: No Feedback Impact on me:
None 
Category:Connector / NET Severity:S2 (Serious)
Version:1.0.6 OS:Microsoft Windows (Windows Server 2003)
Assigned to: CPU Architecture:Any

[19 Oct 2005 23:26] Gudmundur Hauksson
Description:
I have Mysql Server 5.0.13-rc-nt installed on a server machine.

I have tables from earlier version of mysql (4.1) which have been copied to the data directory of the 5.0 server.

All tables from earlier version work fine.

I can do an "Insert" by using .NET connector 1.0.6 on all tables created in 4.1.

I can not do an insert on a table created in 5.0.13-rc-nt if the table contains a varchar field which comes after some other data type field. 

i.e.
I can do an insert into this table: 
(id int unsigned not null auto_increment unique, something varchar(255), i int unsigned);

but not into this one:
(id int unsigned not null auto_increment unqiue, i int unsigned, something varchar(255));

And this one works too:
(id int unsigned not null auto_increment unqiue, something varchar(4000), i varchar(255));

I can use the mysql console to insert into the tables with no problems at all.

How to repeat:
Create a table that has a varchar column after other datatype column (that can be null).
[20 Oct 2005 7:24] Vasily Kishkin
Please read "Upgrading from Version 4.1 to 5.0", probably you will able to find solution:

http://dev.mysql.com/doc/refman/5.0/en/upgrading-from-4-1.html
[20 Oct 2005 10:20] Gudmundur Hauksson
There is no problem with the 4.1 tables. Only with those I created in 5.0
[20 Oct 2005 16:09] Gudmundur Hauksson
The error I get is this one:
{MySql.Data.MySqlClient.MySqlException: #HY000Incorrect arguments to mysql_stmt_execute
   at MySql.Data.MySqlClient.PacketReader.CheckForError()
   at MySql.Data.MySqlClient.PacketReader.ReadHeader()
   at MySql.Data.MySqlClient.PacketReader.OpenPacket()
   at MySql.Data.MySqlClient.NativeDriver.ReadResult(Int64& affectedRows, Int64& lastInsertId)
   at MySql.Data.MySqlClient.CommandResult.ReadNextResult(Boolean isFirst)
   at MySql.Data.MySqlClient.NativeDriver.ExecuteStatement(Byte[] bytes)
   at MySql.Data.MySqlClient.PreparedStatement.Execute(MySqlParameterCollection parameters)
   at MySql.Data.MySqlClient.MySqlCommand.GetNextResultSet(MySqlDataReader reader)
   at MySql.Data.MySqlClient.MySqlCommand.Consume()
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()

Number 1210
[25 Oct 2005 11:49] Vasily Kishkin
I don't have any problem to insert values into varchar columns (5.0.14). Probably I need to look your code. Could you please attach simple test case ?
[14 Nov 2005 23:53] Gudmundur Hauksson
I´m using MySqlCommand with parameters to insert into the table. If I use the "prepare" method before doing "ExecuteNonQuery" this will reproduce the error.
[15 Nov 2005 20:57] Vasily Kishkin
I created a test case but I was not able to reproduce the bug. Could you please build my test case and run ?

My result is:

mysql> select * from test;
+----+------+------------+
| id | i    | something  |
+----+------+------------+
|  1 |    1 | some value |
+----+------+------------+
1 row in set (0.00 sec)

Test case is attached.
[15 Nov 2005 20:58] Vasily Kishkin
Test case

Attachment: 14160.zip (application/force-download, text), 5.88 KiB.

[16 Dec 2005 0:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".