| Bug #20365 | mysqlslap fails with error message about result sets | ||
|---|---|---|---|
| Submitted: | 9 Jun 2006 17:58 | Modified: | 28 Jul 2006 20:14 | 
| Reporter: | Peter Gulutzan | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S3 (Non-critical) | 
| Version: | 5.1.12-beta-debug | OS: | Linux (SUSE 10.0) | 
| Assigned to: | Magnus Blåudd | CPU Architecture: | Any | 
   [11 Jun 2006 7:42]
   Valeriy Kravchuk        
  Thank you for a problem report. Verified just as described:
openxs@suse:~/dbs/5.1> bin/mysql -uroot test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.1.12-beta-debug
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database db77;
Query OK, 1 row affected (0.01 sec)
mysql> use db77;
Database changed
mysql> create procedure pmy () execute a;
Query OK, 0 rows affected (0.02 sec)
mysql> call pmy();
ERROR 1243 (HY000): Unknown prepared statement handler (a) given to EXECUTE
mysql> exit
Bye
openxs@suse:~/dbs/5.1> bin/mysqlslap --create-schema=db77 --preserve-schema --c
oncurrency=2 --iterations=1 --query='call db77.pmy()'
bin/mysqlslap: Cannot run query call db77.pmy() ERROR : PROCEDURE db77.pmy can't
 return a result set in the given context
bin/mysqlslap: Cannot run query call db77.pmy() ERROR : PROCEDURE db77.pmy can't
 return a result set in the given context
Benchmark
        Average number of seconds to run all queries: 0.027 seconds
        Minimum number of seconds to run all queries: 0.027 seconds
        Maximum number of seconds to run all queries: 0.027 seconds
        Number of clients running queries: 2
        Average number of queries per client: 1
 
   [20 Jul 2006 12:51]
   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/9380
   [27 Jul 2006 12:09]
   Magnus Blåudd        
  Pushed to 5.1.12
   [28 Jul 2006 20:14]
   Paul DuBois        
  Noted in 5.1.12 changelog. mysqlslap did not enable the CLIENT_MULTI_RESULTS flag when connecting, which is necessary for executing stored procedures.

Description: I create a procedure which doesn't contain any SHOW or SELECT statements. I say mysqlslap --query='call procedure_name()' I get a message "ERROR: ... can't return a result set in the given context". How to repeat: To create the procedure: mysql> create database db77; Query OK, 1 row affected (0.00 sec) mysql> use db77; Database changed mysql> create procedure pmy () execute a; Query OK, 0 rows affected (0.00 sec) To run: pgulutzan@linux:~> /usr/local/mysql/bin/mysqlslap --create-schema=db77 --preserve-schema --concurrency=2 --iterations=1 --query='call db77.pmy()' /usr/local/mysql/bin/mysqlslap: Cannot run query call db77.pmy() ERROR : PROCEDURE db77.pmy can't return a result set in the given context /usr/local/mysql/bin/mysqlslap: Cannot run query call db77.pmy() ERROR : PROCEDURE db77.pmy can't return a result set in the given context Benchmark Average number of seconds to run all queries: 0.013 seconds Minimum number of seconds to run all queries: 0.013 seconds Maximum number of seconds to run all queries: 0.013 seconds Number of clients running queries: 2 Average number of queries per client: 1