📄 sp-big.test
字号:
## Bug #11602: SP with very large body not handled well#--disable_warningsdrop procedure if exists test.longprocedure;drop table if exists t1;--enable_warningscreate table t1 (a int);insert into t1 values (1),(2),(3);let $body=`select repeat('select count(*) into out1 from t1;\n', 3072)`;delimiter //;--disable_query_logeval select length('$body') as length//eval create procedure test.longprocedure (out out1 int) deterministicbegin $bodyend//--enable_query_logdelimiter ;//# this is larger than the length above, because it includes the 'begin' and# 'end' bits and some whitespaceselect length(routine_definition) from information_schema.routines where routine_schema = 'test' and routine_name = 'longprocedure';call test.longprocedure(@value); select @value;drop procedure test.longprocedure;drop table t1;## Bug #9819 "Cursors: Mysql Server Crash while fetching from table with 5# million records.": # To really test the bug, increase the number of loop iterations ($1).# For 4 millions set $1 to 22.create table t1 (f1 char(100) , f2 mediumint , f3 int , f4 real, f5 numeric);insert into t1 (f1, f2, f3, f4, f5) values("This is a test case for for Bug#9819", 1, 2, 3.0, 4.598);create table t2 like t1;let $1=8;--disable_query_log--disable_result_logwhile ($1){ eval insert into t1 select * from t1; dec $1;}--enable_result_log--enable_query_logselect count(*) from t1;select count(*) from t2;--disable_warningsdrop procedure if exists p1;--enable_warningsdelimiter |;create procedure p1()begin declare done integer default 0; declare vf1 char(100) ; declare vf2 mediumint; declare vf3 int ; declare vf4 real ; declare vf5 numeric ; declare cur1 cursor for select f1,f2,f3,f4,f5 from t1; declare continue handler for sqlstate '02000' set done = 1; open cur1; while done <> 1 do fetch cur1 into vf1, vf2, vf3, vf4, vf5; if not done then insert into t2 values (vf1, vf2, vf3, vf4, vf5); end if; end while; close cur1;end|delimiter ;|call p1();select count(*) from t1;select count(*) from t2;select f1 from t1 limit 1;select f1 from t2 limit 1;drop procedure p1;drop table t1, t2;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -