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:
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
Reference in New Issue
Block a user