mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fixed BUG#9538: SProc: Creation fails if we try to SET system variable
using @@var_name in proc Made sure we don't lose the tokenizer state when swapping lex in during SET parsing. mysql-test/r/sp.result: New test case for BUG#9538. mysql-test/t/sp.test: New test case for BUG#9538. sql/sp_head.cc: Keep lex->next_state when swapping lex during SP parsing (for SET mainly), otherwise the tokenizer gets confused.
This commit is contained in:
@ -3079,4 +3079,17 @@ one 1
|
||||
delete from t1|
|
||||
drop procedure bug9565_sub|
|
||||
drop procedure bug9565|
|
||||
drop procedure if exists bug9538|
|
||||
create procedure bug9538()
|
||||
set @@sort_buffer_size = 1000000|
|
||||
set @x = @@sort_buffer_size|
|
||||
select @@sort_buffer_size|
|
||||
@@sort_buffer_size
|
||||
262136
|
||||
call bug9538()|
|
||||
select @@sort_buffer_size|
|
||||
@@sort_buffer_size
|
||||
1000000
|
||||
set @@sort_buffer_size = @x|
|
||||
drop procedure bug9538|
|
||||
drop table t1,t2;
|
||||
|
@ -3855,6 +3855,25 @@ drop procedure bug9565_sub|
|
||||
drop procedure bug9565|
|
||||
|
||||
|
||||
#
|
||||
# BUG#9538: SProc: Creation fails if we try to SET system variable
|
||||
# using @@var_name in proc
|
||||
#
|
||||
--disable_warnings
|
||||
drop procedure if exists bug9538|
|
||||
--enable_warnings
|
||||
create procedure bug9538()
|
||||
set @@sort_buffer_size = 1000000|
|
||||
|
||||
set @x = @@sort_buffer_size|
|
||||
select @@sort_buffer_size|
|
||||
call bug9538()|
|
||||
select @@sort_buffer_size|
|
||||
set @@sort_buffer_size = @x|
|
||||
|
||||
drop procedure bug9538|
|
||||
|
||||
|
||||
#
|
||||
# BUG#NNNN: New bug synopsis
|
||||
#
|
||||
|
Reference in New Issue
Block a user