Bug #55257 Named parameters order has sense
Submitted: 14 Jul 2010 12:27 Modified: 16 Jul 2010 7:39
Reporter: Denis Palnitsky Email Updates:
Status: Not a Bug Impact on me:
None 
Category:Connector / NET Severity:S2 (Serious)
Version:6.2.3.0 OS:Any
Assigned to: CPU Architecture:Any
Tags: parameters user

[14 Jul 2010 12:27] Denis Palnitsky
Description:
If you call stored procedure with named parameters order has sense only if you call it not under root db account.

How to repeat:
Create test user with all privileges.
Procedure code:

CREATE PROCEDURE `test`.`TestProc` (
in myText varchar (5),
in myText2 varchar (100)
)
BEGIN
END 

C# code:

            MySqlConnection connection = new MySqlConnection("SERVER = localhost; DATABASE = test; UID = testUser; PASSWORD = 1;");
            connection.Open();

            MySqlCommand command = connection.CreateCommand();            
            command.CommandText = "testProc";
            command.CommandType = System.Data.CommandType.StoredProcedure;

            command.Parameters.AddWithValue("myText2", "aaaaaaaaaaaaaaaaa");            
            command.Parameters.AddWithValue("myText", "bbbb");            
                                    
            command.ExecuteNonQuery();

This code throws "Data too long exception" when you use testUser and works fine with root.
[15 Jul 2010 20:04] Reggie Burnett
I don't believe this is a bug.  I believe your test user doesn't have the privs to see the body of the proc.  Please login to MySQL using the commandline client and the test user account.  Do a "show create procedure" on your proc.  If the body is null you need to use the "use function bodies=false" option and pass in the parameters in the right order. 
If the  

If
[16 Jul 2010 7:39] Denis Palnitsky
You right, but I think that this is strange behavior.