1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Fixed BUG#3843: ANALYZE TABLE inside stored procedure causes 'Packets out of order' error.

mysql-test/r/sp.result:
  New test case for BUG#3843.
mysql-test/t/sp.test:
  New test case for BUG#3843.
sql/sql_yacc.yy:
  Added another multi results special case for stored procedures (analyze).
This commit is contained in:
unknown
2004-06-14 12:38:54 +02:00
parent 05165962e7
commit 6fd6652be2
3 changed files with 27 additions and 1 deletions

View File

@ -1360,6 +1360,18 @@ bug3132('Bob')
Hello, Bob! Hello, Bob!
Hello, Judy! Hello, Judy!
drop function bug3132| drop function bug3132|
create procedure bug3843()
analyze table t1|
call bug3843()|
Table Op Msg_type Msg_text
test.t1 analyze status OK
call bug3843()|
Table Op Msg_type Msg_text
test.t1 analyze status Table is already up to date
select 1+2|
1+2
3
drop procedure bug3843|
drop table if exists fac| drop table if exists fac|
create table fac (n int unsigned not null primary key, f bigint unsigned)| create table fac (n int unsigned not null primary key, f bigint unsigned)|
create procedure ifac(n int unsigned) create procedure ifac(n int unsigned)

View File

@ -1560,6 +1560,19 @@ create function bug3132(s char(20)) returns char(50)
select bug3132('Bob') union all select bug3132('Judy')| select bug3132('Bob') union all select bug3132('Judy')|
drop function bug3132| drop function bug3132|
#
# BUG#3843
#
create procedure bug3843()
analyze table t1|
# Testing for packets out of order
call bug3843()|
call bug3843()|
select 1+2|
drop procedure bug3843|
# #
# Some "real" examples # Some "real" examples

View File

@ -1601,7 +1601,8 @@ sp_proc_stmt:
lex->sql_command == SQLCOM_SHOW_CREATE_PROC || lex->sql_command == SQLCOM_SHOW_CREATE_PROC ||
lex->sql_command == SQLCOM_SHOW_CREATE_FUNC || lex->sql_command == SQLCOM_SHOW_CREATE_FUNC ||
lex->sql_command == SQLCOM_SHOW_STATUS_PROC || lex->sql_command == SQLCOM_SHOW_STATUS_PROC ||
lex->sql_command == SQLCOM_SHOW_STATUS_FUNC) lex->sql_command == SQLCOM_SHOW_STATUS_FUNC ||
lex->sql_command == SQLCOM_ANALYZE)
{ {
/* We maybe have one or more SELECT without INTO */ /* We maybe have one or more SELECT without INTO */
lex->sphead->m_multi_results= TRUE; lex->sphead->m_multi_results= TRUE;