Loading mysql-test/r/sp-error.result +0 −51 Original line number Diff line number Diff line Loading @@ -65,47 +65,6 @@ iterate foo; end| ERROR 42000: ITERATE with no matching label: foo create procedure foo() begin goto foo; end| ERROR 42000: GOTO with no matching label: foo create procedure foo() begin begin label foo; end; goto foo; end| ERROR 42000: GOTO with no matching label: foo create procedure foo() begin goto foo; begin label foo; end; end| ERROR 42000: GOTO with no matching label: foo create procedure foo() begin begin goto foo; end; begin label foo; end; end| ERROR 42000: GOTO with no matching label: foo create procedure foo() begin begin label foo; end; begin goto foo; end; end| ERROR 42000: GOTO with no matching label: foo create procedure foo() foo: loop foo: loop set @x=2; Loading Loading @@ -308,16 +267,6 @@ declare continue handler for sqlstate '42S99' set x = 1; declare c cursor for select * from t1; end| ERROR 42000: Cursor declaration after handler declaration create procedure p() begin declare continue handler for sqlexception begin goto L1; end; select field from t1; label L1; end| ERROR HY000: GOTO is not allowed in a stored procedure handler drop procedure if exists p| create procedure p(in x int, inout y int, out z int) begin Loading mysql-test/r/sp-goto.result 0 → 100644 +205 −0 Original line number Diff line number Diff line drop table if exists t1; create table t1 ( id char(16) not null default '', data int not null ); drop procedure if exists goto1// create procedure goto1() begin declare y int; label a; select * from t1; select count(*) into y from t1; if y > 2 then goto b; end if; insert into t1 values ("j", y); goto a; label b; end// call goto1()// id data id data j 0 id data j 0 j 1 id data j 0 j 1 j 2 drop procedure goto1// drop procedure if exists goto2// create procedure goto2(a int) begin declare x int default 0; declare continue handler for sqlstate '42S98' set x = 1; label a; select * from t1; b: while x < 2 do begin declare continue handler for sqlstate '42S99' set x = 2; if a = 0 then set x = x + 1; iterate b; elseif a = 1 then leave b; elseif a = 2 then set a = 1; goto a; end if; end; end while b; select * from t1; end// call goto2(0)// id data j 0 j 1 j 2 id data j 0 j 1 j 2 call goto2(1)// id data j 0 j 1 j 2 id data j 0 j 1 j 2 call goto2(2)// id data j 0 j 1 j 2 id data j 0 j 1 j 2 id data j 0 j 1 j 2 drop procedure goto2// delete from t1// drop procedure if exists goto3// create procedure goto3() begin label L1; begin end; goto L1; end// drop procedure goto3// drop procedure if exists goto4// create procedure goto4() begin begin label lab1; begin goto lab1; end; end; end// drop procedure goto4// drop procedure if exists goto5// create procedure goto5() begin begin begin goto lab1; end; label lab1; end; end// drop procedure goto5// drop procedure if exists goto6// create procedure goto6() begin label L1; goto L5; begin label L2; goto L1; goto L5; begin label L3; goto L1; goto L2; goto L3; goto L4; goto L5; end; goto L2; goto L4; label L4; end; label L5; goto L1; end// drop procedure goto6// create procedure foo() begin goto foo; end// ERROR 42000: GOTO with no matching label: foo create procedure foo() begin begin label foo; end; goto foo; end// ERROR 42000: GOTO with no matching label: foo create procedure foo() begin goto foo; begin label foo; end; end// ERROR 42000: GOTO with no matching label: foo create procedure foo() begin begin goto foo; end; begin label foo; end; end// ERROR 42000: GOTO with no matching label: foo create procedure foo() begin begin label foo; end; begin goto foo; end; end// ERROR 42000: GOTO with no matching label: foo create procedure p() begin declare continue handler for sqlexception begin goto L1; end; select field from t1; label L1; end// ERROR HY000: GOTO is not allowed in a stored procedure handler drop procedure if exists bug6898// create procedure bug6898() begin goto label1; label label1; begin end; goto label1; end// drop procedure bug6898// drop table t1; mysql-test/r/sp.result +0 −148 Original line number Diff line number Diff line Loading @@ -438,145 +438,6 @@ id data i 3 delete from t1| drop procedure i| drop procedure if exists goto1| create procedure goto1() begin declare y int; label a; select * from t1; select count(*) into y from t1; if y > 2 then goto b; end if; insert into t1 values ("j", y); goto a; label b; end| call goto1()| id data id data j 0 id data j 0 j 1 id data j 0 j 1 j 2 drop procedure goto1| drop procedure if exists goto2| create procedure goto2(a int) begin declare x int default 0; declare continue handler for sqlstate '42S98' set x = 1; label a; select * from t1; b: while x < 2 do begin declare continue handler for sqlstate '42S99' set x = 2; if a = 0 then set x = x + 1; iterate b; elseif a = 1 then leave b; elseif a = 2 then set a = 1; goto a; end if; end; end while b; select * from t1; end| call goto2(0)| id data j 0 j 1 j 2 id data j 0 j 1 j 2 call goto2(1)| id data j 0 j 1 j 2 id data j 0 j 1 j 2 call goto2(2)| id data j 0 j 1 j 2 id data j 0 j 1 j 2 id data j 0 j 1 j 2 drop procedure goto2| delete from t1| drop procedure if exists goto3| create procedure goto3() begin label L1; begin end; goto L1; end| drop procedure goto3| drop procedure if exists goto4| create procedure goto4() begin begin label lab1; begin goto lab1; end; end; end| drop procedure goto4| drop procedure if exists goto5| create procedure goto5() begin begin begin goto lab1; end; label lab1; end; end| drop procedure goto5| drop procedure if exists goto6| create procedure goto6() begin label L1; goto L5; begin label L2; goto L1; goto L5; begin label L3; goto L1; goto L2; goto L3; goto L4; goto L5; end; goto L2; goto L4; label L4; end; label L5; goto L1; end| drop procedure goto6| insert into t1 values ("foo", 3), ("bar", 19)| insert into t2 values ("x", 9, 4.1), ("y", -1, 19.2), ("z", 3, 2.2)| drop procedure if exists sel1| Loading Loading @@ -2971,15 +2832,6 @@ select @x| set global query_cache_size = @qcs1| delete from t1| drop function bug9902| drop procedure if exists bug6898| create procedure bug6898() begin goto label1; label label1; begin end; goto label1; end| drop procedure bug6898| drop function if exists bug9102| create function bug9102() returns blob return 'a'| select bug9102()| Loading mysql-test/t/disabled.def +1 −0 Original line number Diff line number Diff line Loading @@ -10,3 +10,4 @@ # ############################################################################## sp-goto:GOTO is currently is disabled - will be fixed in the future mysql-test/t/sp-error.test +1 −54 Original line number Diff line number Diff line Loading @@ -84,7 +84,7 @@ show create procedure foo| --error 1305 show create function foo| # LEAVE/ITERATE/GOTO with no match # LEAVE/ITERATE with no match --error 1308 create procedure foo() foo: loop Loading @@ -100,47 +100,6 @@ create procedure foo() foo: begin iterate foo; end| --error 1308 create procedure foo() begin goto foo; end| --error 1308 create procedure foo() begin begin label foo; end; goto foo; end| --error 1308 create procedure foo() begin goto foo; begin label foo; end; end| --error 1308 create procedure foo() begin begin goto foo; end; begin label foo; end; end| --error 1308 create procedure foo() begin begin label foo; end; begin goto foo; end; end| # Redefining label --error 1309 Loading Loading @@ -398,18 +357,6 @@ begin declare c cursor for select * from t1; end| --error 1358 create procedure p() begin declare continue handler for sqlexception begin goto L1; end; select field from t1; label L1; end| # Check in and inout arguments. --disable_warnings drop procedure if exists p| Loading Loading
mysql-test/r/sp-error.result +0 −51 Original line number Diff line number Diff line Loading @@ -65,47 +65,6 @@ iterate foo; end| ERROR 42000: ITERATE with no matching label: foo create procedure foo() begin goto foo; end| ERROR 42000: GOTO with no matching label: foo create procedure foo() begin begin label foo; end; goto foo; end| ERROR 42000: GOTO with no matching label: foo create procedure foo() begin goto foo; begin label foo; end; end| ERROR 42000: GOTO with no matching label: foo create procedure foo() begin begin goto foo; end; begin label foo; end; end| ERROR 42000: GOTO with no matching label: foo create procedure foo() begin begin label foo; end; begin goto foo; end; end| ERROR 42000: GOTO with no matching label: foo create procedure foo() foo: loop foo: loop set @x=2; Loading Loading @@ -308,16 +267,6 @@ declare continue handler for sqlstate '42S99' set x = 1; declare c cursor for select * from t1; end| ERROR 42000: Cursor declaration after handler declaration create procedure p() begin declare continue handler for sqlexception begin goto L1; end; select field from t1; label L1; end| ERROR HY000: GOTO is not allowed in a stored procedure handler drop procedure if exists p| create procedure p(in x int, inout y int, out z int) begin Loading
mysql-test/r/sp-goto.result 0 → 100644 +205 −0 Original line number Diff line number Diff line drop table if exists t1; create table t1 ( id char(16) not null default '', data int not null ); drop procedure if exists goto1// create procedure goto1() begin declare y int; label a; select * from t1; select count(*) into y from t1; if y > 2 then goto b; end if; insert into t1 values ("j", y); goto a; label b; end// call goto1()// id data id data j 0 id data j 0 j 1 id data j 0 j 1 j 2 drop procedure goto1// drop procedure if exists goto2// create procedure goto2(a int) begin declare x int default 0; declare continue handler for sqlstate '42S98' set x = 1; label a; select * from t1; b: while x < 2 do begin declare continue handler for sqlstate '42S99' set x = 2; if a = 0 then set x = x + 1; iterate b; elseif a = 1 then leave b; elseif a = 2 then set a = 1; goto a; end if; end; end while b; select * from t1; end// call goto2(0)// id data j 0 j 1 j 2 id data j 0 j 1 j 2 call goto2(1)// id data j 0 j 1 j 2 id data j 0 j 1 j 2 call goto2(2)// id data j 0 j 1 j 2 id data j 0 j 1 j 2 id data j 0 j 1 j 2 drop procedure goto2// delete from t1// drop procedure if exists goto3// create procedure goto3() begin label L1; begin end; goto L1; end// drop procedure goto3// drop procedure if exists goto4// create procedure goto4() begin begin label lab1; begin goto lab1; end; end; end// drop procedure goto4// drop procedure if exists goto5// create procedure goto5() begin begin begin goto lab1; end; label lab1; end; end// drop procedure goto5// drop procedure if exists goto6// create procedure goto6() begin label L1; goto L5; begin label L2; goto L1; goto L5; begin label L3; goto L1; goto L2; goto L3; goto L4; goto L5; end; goto L2; goto L4; label L4; end; label L5; goto L1; end// drop procedure goto6// create procedure foo() begin goto foo; end// ERROR 42000: GOTO with no matching label: foo create procedure foo() begin begin label foo; end; goto foo; end// ERROR 42000: GOTO with no matching label: foo create procedure foo() begin goto foo; begin label foo; end; end// ERROR 42000: GOTO with no matching label: foo create procedure foo() begin begin goto foo; end; begin label foo; end; end// ERROR 42000: GOTO with no matching label: foo create procedure foo() begin begin label foo; end; begin goto foo; end; end// ERROR 42000: GOTO with no matching label: foo create procedure p() begin declare continue handler for sqlexception begin goto L1; end; select field from t1; label L1; end// ERROR HY000: GOTO is not allowed in a stored procedure handler drop procedure if exists bug6898// create procedure bug6898() begin goto label1; label label1; begin end; goto label1; end// drop procedure bug6898// drop table t1;
mysql-test/r/sp.result +0 −148 Original line number Diff line number Diff line Loading @@ -438,145 +438,6 @@ id data i 3 delete from t1| drop procedure i| drop procedure if exists goto1| create procedure goto1() begin declare y int; label a; select * from t1; select count(*) into y from t1; if y > 2 then goto b; end if; insert into t1 values ("j", y); goto a; label b; end| call goto1()| id data id data j 0 id data j 0 j 1 id data j 0 j 1 j 2 drop procedure goto1| drop procedure if exists goto2| create procedure goto2(a int) begin declare x int default 0; declare continue handler for sqlstate '42S98' set x = 1; label a; select * from t1; b: while x < 2 do begin declare continue handler for sqlstate '42S99' set x = 2; if a = 0 then set x = x + 1; iterate b; elseif a = 1 then leave b; elseif a = 2 then set a = 1; goto a; end if; end; end while b; select * from t1; end| call goto2(0)| id data j 0 j 1 j 2 id data j 0 j 1 j 2 call goto2(1)| id data j 0 j 1 j 2 id data j 0 j 1 j 2 call goto2(2)| id data j 0 j 1 j 2 id data j 0 j 1 j 2 id data j 0 j 1 j 2 drop procedure goto2| delete from t1| drop procedure if exists goto3| create procedure goto3() begin label L1; begin end; goto L1; end| drop procedure goto3| drop procedure if exists goto4| create procedure goto4() begin begin label lab1; begin goto lab1; end; end; end| drop procedure goto4| drop procedure if exists goto5| create procedure goto5() begin begin begin goto lab1; end; label lab1; end; end| drop procedure goto5| drop procedure if exists goto6| create procedure goto6() begin label L1; goto L5; begin label L2; goto L1; goto L5; begin label L3; goto L1; goto L2; goto L3; goto L4; goto L5; end; goto L2; goto L4; label L4; end; label L5; goto L1; end| drop procedure goto6| insert into t1 values ("foo", 3), ("bar", 19)| insert into t2 values ("x", 9, 4.1), ("y", -1, 19.2), ("z", 3, 2.2)| drop procedure if exists sel1| Loading Loading @@ -2971,15 +2832,6 @@ select @x| set global query_cache_size = @qcs1| delete from t1| drop function bug9902| drop procedure if exists bug6898| create procedure bug6898() begin goto label1; label label1; begin end; goto label1; end| drop procedure bug6898| drop function if exists bug9102| create function bug9102() returns blob return 'a'| select bug9102()| Loading
mysql-test/t/disabled.def +1 −0 Original line number Diff line number Diff line Loading @@ -10,3 +10,4 @@ # ############################################################################## sp-goto:GOTO is currently is disabled - will be fixed in the future
mysql-test/t/sp-error.test +1 −54 Original line number Diff line number Diff line Loading @@ -84,7 +84,7 @@ show create procedure foo| --error 1305 show create function foo| # LEAVE/ITERATE/GOTO with no match # LEAVE/ITERATE with no match --error 1308 create procedure foo() foo: loop Loading @@ -100,47 +100,6 @@ create procedure foo() foo: begin iterate foo; end| --error 1308 create procedure foo() begin goto foo; end| --error 1308 create procedure foo() begin begin label foo; end; goto foo; end| --error 1308 create procedure foo() begin goto foo; begin label foo; end; end| --error 1308 create procedure foo() begin begin goto foo; end; begin label foo; end; end| --error 1308 create procedure foo() begin begin label foo; end; begin goto foo; end; end| # Redefining label --error 1309 Loading Loading @@ -398,18 +357,6 @@ begin declare c cursor for select * from t1; end| --error 1358 create procedure p() begin declare continue handler for sqlexception begin goto L1; end; select field from t1; label L1; end| # Check in and inout arguments. --disable_warnings drop procedure if exists p| Loading