1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

Fixed BUG#3287: Stored procedure handler scope outside of begin/end.

Backpatching overwrote already backpatched instructions, which made it
skip the hpop instruction; possibly not only a problem for handlers,
but this is one known case when it happened.
This commit is contained in:
pem@mysql.comhem.se
2004-04-05 17:01:19 +02:00
parent da44d11553
commit 95dcdde134
4 changed files with 64 additions and 6 deletions

View File

@@ -400,7 +400,7 @@ return (select sum(t.data) from test.t2 t)|
# BUG#1653
#
--disable_warnings
drop table if exists table_1|
drop table if exists t3|
--enable_warnings
create table t3 (column_1_0 int)|
@@ -500,6 +500,37 @@ end case|
call bug3287(2)|
drop procedure bug3287|
#
# BUG#3297
#
--disable_warnings
drop table if exists t3|
--enable_warnings
create table t3 (s1 int, primary key (s1))|
insert into t3 values (5),(6)|
create procedure bug3279(out y int)
begin
declare x int default 0;
begin
declare exit handler for sqlexception set x = x+1;
insert into t3 values (5);
end;
if x < 2 then
set x = x+1;
insert into t3 values (6);
end if;
set y = x;
end|
set @x = 0|
--error 1062
call bug3279(@x)|
select @x|
drop procedure bug3279|
drop table t3|
drop table t1|
delimiter ;|