mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
Fixed BUG#8409: Stored procedure crash if function contains FLUSH
by simply disabling FLUSH for stored functions. (I can't really work.) mysql-test/r/sp-error.result: New test case for BUG#8409. mysql-test/t/sp-error.test: New test case for BUG#8409. sql/sql_yacc.yy: Disable FLUSH for stored functions.
This commit is contained in:
parent
d5f4c14b6e
commit
166accffda
3 changed files with 28 additions and 0 deletions
|
@ -646,4 +646,12 @@ drop procedure if exists bug10537|
|
|||
create procedure bug10537()
|
||||
load data local infile '/tmp/somefile' into table t1|
|
||||
ERROR 0A000: LOAD DATA is not allowed in stored procedures
|
||||
drop function if exists bug8409|
|
||||
create function bug8409()
|
||||
returns int
|
||||
begin
|
||||
flush tables;
|
||||
return 5;
|
||||
end|
|
||||
ERROR 0A000: FLUSH is not allowed in stored procedures
|
||||
drop table t1|
|
||||
|
|
|
@ -905,6 +905,21 @@ create procedure bug10537()
|
|||
load data local infile '/tmp/somefile' into table t1|
|
||||
|
||||
|
||||
#
|
||||
# BUG#8409: Stored procedure crash if function contains FLUSH
|
||||
#
|
||||
--disable_warnings
|
||||
drop function if exists bug8409|
|
||||
--enable_warnings
|
||||
--error ER_SP_BADSTATEMENT
|
||||
create function bug8409()
|
||||
returns int
|
||||
begin
|
||||
flush tables;
|
||||
return 5;
|
||||
end|
|
||||
|
||||
|
||||
#
|
||||
# BUG#NNNN: New bug synopsis
|
||||
#
|
||||
|
|
|
@ -6511,6 +6511,11 @@ flush:
|
|||
FLUSH_SYM opt_no_write_to_binlog
|
||||
{
|
||||
LEX *lex=Lex;
|
||||
if (lex->sphead && lex->sphead->m_type == TYPE_ENUM_FUNCTION)
|
||||
{
|
||||
my_error(ER_SP_BADSTATEMENT, MYF(0), "FLUSH");
|
||||
YYABORT;
|
||||
}
|
||||
lex->sql_command= SQLCOM_FLUSH; lex->type=0;
|
||||
lex->no_write_to_binlog= $2;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue