mirror of
https://github.com/MariaDB/server.git
synced 2026-05-09 16:44:29 +02:00
Post-review fix for BUG#12712: SET AUTOCOMMIT should fail within SP/functions/triggers
mysql-test/r/sp.result: Added missing drop table. mysql-test/t/sp.test: Added missing drop table. sql/sp_head.h: Post-review fix for autocommit check in SPs and triggers. sql/sql_yacc.yy: Post-review fix for autocommit check in SPs and triggers.
This commit is contained in:
parent
38c43ecdd3
commit
8c86f8e4bf
4 changed files with 12 additions and 10 deletions
|
|
@ -3323,6 +3323,7 @@ drop function bug12379|
|
|||
drop procedure bug12379_1|
|
||||
drop procedure bug12379_2|
|
||||
drop procedure bug12379_3|
|
||||
drop table t3|
|
||||
drop procedure if exists bug13124|
|
||||
create procedure bug13124()
|
||||
begin
|
||||
|
|
|
|||
|
|
@ -4161,6 +4161,7 @@ drop function bug12379|
|
|||
drop procedure bug12379_1|
|
||||
drop procedure bug12379_2|
|
||||
drop procedure bug12379_3|
|
||||
drop table t3|
|
||||
|
||||
#
|
||||
# Bug #13124 Stored Procedure using SELECT INTO crashes server
|
||||
|
|
|
|||
|
|
@ -285,7 +285,8 @@ public:
|
|||
my_error(ER_SP_NO_RETSET, MYF(0), where);
|
||||
else if (m_flags & HAS_SET_AUTOCOMMIT_STMT)
|
||||
my_error(ER_SP_CANT_SET_AUTOCOMMIT, MYF(0));
|
||||
return test(m_flags & (CONTAINS_DYNAMIC_SQL|MULTI_RESULTS));
|
||||
return test(m_flags &
|
||||
(CONTAINS_DYNAMIC_SQL|MULTI_RESULTS|HAS_SET_AUTOCOMMIT_STMT));
|
||||
}
|
||||
private:
|
||||
|
||||
|
|
|
|||
|
|
@ -8005,15 +8005,14 @@ internal_variable_name:
|
|||
if (tmp == &sys_time_zone &&
|
||||
lex->add_time_zone_tables_to_query_tables(YYTHD))
|
||||
YYABORT;
|
||||
else
|
||||
if (spc && tmp == &sys_autocommit)
|
||||
{
|
||||
/*
|
||||
We don't allow setting AUTOCOMMIT from a stored function
|
||||
or trigger.
|
||||
*/
|
||||
lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
|
||||
}
|
||||
else if (spc && tmp == &sys_autocommit)
|
||||
{
|
||||
/*
|
||||
We don't allow setting AUTOCOMMIT from a stored function
|
||||
or trigger.
|
||||
*/
|
||||
lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue