📄 sp-code.result
字号:
17 set str_j@3 _latin1'unknown'18 stmt 0 "select "i was 20""19 jump 2720 jump_if_not 23(27) (case_expr@0 = 30)21 set str_i@2 _latin1'30'22 jump 2723 jump_if_not 26(27) (case_expr@0 = 40)24 set str_i@2 _latin1'40'25 jump 2726 set str_i@2 _latin1'unknown'27 stmt 0 "SELECT str_i, str_j"SHOW PROCEDURE CODE proc_19194_nested_2;Pos Instruction0 set str_i@2 NULL1 set str_j@3 NULL2 jump_if_not 5(27) (i@0 = 10)3 set str_i@2 _latin1'10'4 jump 275 jump_if_not 20(27) (i@0 = 20)6 set str_i@2 _latin1'20'7 set_case_expr (18) 0 j@18 jump_if_not 11(18) (case_expr@0 = 1)9 set str_j@3 _latin1'1'10 jump 1811 jump_if_not 14(18) (case_expr@0 = 2)12 set str_j@3 _latin1'2'13 jump 1814 jump_if_not 17(18) (case_expr@0 = 3)15 set str_j@3 _latin1'3'16 jump 1817 set str_j@3 _latin1'unknown'18 stmt 0 "select "i was 20""19 jump 2720 jump_if_not 23(27) (i@0 = 30)21 set str_i@2 _latin1'30'22 jump 2723 jump_if_not 26(27) (i@0 = 40)24 set str_i@2 _latin1'40'25 jump 2726 set str_i@2 _latin1'unknown'27 stmt 0 "SELECT str_i, str_j"SHOW PROCEDURE CODE proc_19194_nested_3;Pos Instruction0 set str_i@2 NULL1 set str_j@3 NULL2 set_case_expr (28) 0 i@03 jump_if_not 6(28) (case_expr@0 = 10)4 set str_i@2 _latin1'10'5 jump 286 jump_if_not 21(28) (case_expr@0 = 20)7 set str_i@2 _latin1'20'8 set_case_expr (19) 1 j@19 jump_if_not 12(19) (case_expr@1 = 1)10 set str_j@3 _latin1'1'11 jump 1912 jump_if_not 15(19) (case_expr@1 = 2)13 set str_j@3 _latin1'2'14 jump 1915 jump_if_not 18(19) (case_expr@1 = 3)16 set str_j@3 _latin1'3'17 jump 1918 set str_j@3 _latin1'unknown'19 stmt 0 "select "i was 20""20 jump 2821 jump_if_not 24(28) (case_expr@0 = 30)22 set str_i@2 _latin1'30'23 jump 2824 jump_if_not 27(28) (case_expr@0 = 40)25 set str_i@2 _latin1'40'26 jump 2827 set str_i@2 _latin1'unknown'28 stmt 0 "SELECT str_i, str_j"SHOW PROCEDURE CODE proc_19194_nested_4;Pos Instruction0 set str_i@2 NULL1 set str_j@3 NULL2 jump_if_not 5(26) (i@0 = 10)3 set str_i@2 _latin1'10'4 jump 265 jump_if_not 19(26) (i@0 = 20)6 set str_i@2 _latin1'20'7 jump_if_not 10(17) (j@1 = 1)8 set str_j@3 _latin1'1'9 jump 1710 jump_if_not 13(17) (j@1 = 2)11 set str_j@3 _latin1'2'12 jump 1713 jump_if_not 16(17) (j@1 = 3)14 set str_j@3 _latin1'3'15 jump 1716 set str_j@3 _latin1'unknown'17 stmt 0 "select "i was 20""18 jump 2619 jump_if_not 22(26) (i@0 = 30)20 set str_i@2 _latin1'30'21 jump 2622 jump_if_not 25(26) (i@0 = 40)23 set str_i@2 _latin1'40'24 jump 2625 set str_i@2 _latin1'unknown'26 stmt 0 "SELECT str_i, str_j"CALL proc_19194_nested_1(10, 1);str_i str_j10 NULLCALL proc_19194_nested_1(25, 1);str_i str_junknown NULLCALL proc_19194_nested_1(20, 1);i was 20i was 20str_i str_j20 1CALL proc_19194_nested_1(20, 2);i was 20i was 20str_i str_j20 2CALL proc_19194_nested_1(20, 3);i was 20i was 20str_i str_j20 3CALL proc_19194_nested_1(20, 4);i was 20i was 20str_i str_j20 unknownCALL proc_19194_nested_1(30, 1);str_i str_j30 NULLCALL proc_19194_nested_1(40, 1);str_i str_j40 NULLCALL proc_19194_nested_1(0, 0);str_i str_junknown NULLCALL proc_19194_nested_2(10, 1);str_i str_j10 NULLCALL proc_19194_nested_2(25, 1);str_i str_junknown NULLCALL proc_19194_nested_2(20, 1);i was 20i was 20str_i str_j20 1CALL proc_19194_nested_2(20, 2);i was 20i was 20str_i str_j20 2CALL proc_19194_nested_2(20, 3);i was 20i was 20str_i str_j20 3CALL proc_19194_nested_2(20, 4);i was 20i was 20str_i str_j20 unknownCALL proc_19194_nested_2(30, 1);str_i str_j30 NULLCALL proc_19194_nested_2(40, 1);str_i str_j40 NULLCALL proc_19194_nested_2(0, 0);str_i str_junknown NULLCALL proc_19194_nested_3(10, 1);str_i str_j10 NULLCALL proc_19194_nested_3(25, 1);str_i str_junknown NULLCALL proc_19194_nested_3(20, 1);i was 20i was 20str_i str_j20 1CALL proc_19194_nested_3(20, 2);i was 20i was 20str_i str_j20 2CALL proc_19194_nested_3(20, 3);i was 20i was 20str_i str_j20 3CALL proc_19194_nested_3(20, 4);i was 20i was 20str_i str_j20 unknownCALL proc_19194_nested_3(30, 1);str_i str_j30 NULLCALL proc_19194_nested_3(40, 1);str_i str_j40 NULLCALL proc_19194_nested_3(0, 0);str_i str_junknown NULLCALL proc_19194_nested_4(10, 1);str_i str_j10 NULLCALL proc_19194_nested_4(25, 1);str_i str_junknown NULLCALL proc_19194_nested_4(20, 1);i was 20i was 20str_i str_j20 1CALL proc_19194_nested_4(20, 2);i was 20i was 20str_i str_j20 2CALL proc_19194_nested_4(20, 3);i was 20i was 20str_i str_j20 3CALL proc_19194_nested_4(20, 4);i was 20i was 20str_i str_j20 unknownCALL proc_19194_nested_4(30, 1);str_i str_j30 NULLCALL proc_19194_nested_4(40, 1);str_i str_j40 NULLCALL proc_19194_nested_4(0, 0);str_i str_junknown NULLDROP PROCEDURE proc_19194_simple;DROP PROCEDURE proc_19194_searched;DROP PROCEDURE proc_19194_nested_1;DROP PROCEDURE proc_19194_nested_2;DROP PROCEDURE proc_19194_nested_3;DROP PROCEDURE proc_19194_nested_4;DROP PROCEDURE IF EXISTS p1;CREATE PROCEDURE p1() CREATE INDEX idx ON t1 (c1);SHOW PROCEDURE CODE p1;Pos Instruction0 stmt 2 "CREATE INDEX idx ON t1 (c1)"DROP PROCEDURE p1;drop table if exists t1;drop procedure if exists proc_26977_broken;drop procedure if exists proc_26977_works;create table t1(a int unique);create procedure proc_26977_broken(v int)begindeclare i int default 5;declare continue handler for sqlexceptionbeginselect 'caught something';retry:while i > 0 dobeginset i = i - 1;select 'looping', i;end;end while retry;end;select 'do something';insert into t1 values (v);select 'do something again';insert into t1 values (v);end//create procedure proc_26977_works(v int)begindeclare i int default 5;declare continue handler for sqlexceptionbeginselect 'caught something';retry:while i > 0 dobeginset i = i - 1;select 'looping', i;end;end while retry;select 'optimizer: keep hreturn';end;select 'do something';insert into t1 values (v);select 'do something again';insert into t1 values (v);end//show procedure code proc_26977_broken;Pos Instruction0 set i@1 51 hpush_jump 8 2 CONTINUE2 stmt 0 "select 'caught something'"3 jump_if_not 7(7) (i@1 > 0)4 set i@1 (i@1 - 1)5 stmt 0 "select 'looping', i"6 jump 37 hreturn 28 stmt 0 "select 'do something'"9 stmt 5 "insert into t1 values (v)"10 stmt 0 "select 'do something again'"11 stmt 5 "insert into t1 values (v)"12 hpop 1show procedure code proc_26977_works;Pos Instruction0 set i@1 51 hpush_jump 9 2 CONTINUE2 stmt 0 "select 'caught something'"3 jump_if_not 7(7) (i@1 > 0)4 set i@1 (i@1 - 1)5 stmt 0 "select 'looping', i"6 jump 37 stmt 0 "select 'optimizer: keep hreturn'"8 hreturn 29 stmt 0 "select 'do something'"10 stmt 5 "insert into t1 values (v)"11 stmt 0 "select 'do something again'"12 stmt 5 "insert into t1 values (v)"13 hpop 1call proc_26977_broken(1);do somethingdo somethingdo something againdo something againcaught somethingcaught somethinglooping ilooping 4looping ilooping 3looping ilooping 2looping ilooping 1looping ilooping 0call proc_26977_works(2);do somethingdo somethingdo something againdo something againcaught somethingcaught somethinglooping ilooping 4looping ilooping 3looping ilooping 2looping ilooping 1looping ilooping 0optimizer: keep hreturnoptimizer: keep hreturndrop table t1;drop procedure proc_26977_broken;drop procedure proc_26977_works;End of 5.0 tests.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -