diff options
Diffstat (limited to 'mysql-test/t/sp-big.test')
-rw-r--r-- | mysql-test/t/sp-big.test | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/mysql-test/t/sp-big.test b/mysql-test/t/sp-big.test deleted file mode 100644 index 4220541697e..00000000000 --- a/mysql-test/t/sp-big.test +++ /dev/null @@ -1,117 +0,0 @@ -# -# Bug #11602: SP with very large body not handled well -# -source include/have_sequence.inc; - -create 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_log -eval select length('$body') as length// -eval create procedure test.longprocedure (out out1 int) deterministic -begin - $body -end// ---enable_query_log - -delimiter ;// - -# this is larger than the length above, because it includes the 'begin' and -# 'end' bits and some whitespace -select 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_log -begin; -while ($1) -{ - eval insert into t1 select * from t1; - dec $1; -} -commit; ---enable_result_log ---enable_query_log -select count(*) from t1; -select count(*) from t2; ---disable_warnings -drop procedure if exists p1; ---enable_warnings -delimiter |; -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; - -# -# Loops with many iterations -# (Item_equal must be created in the execution arena) -# -create table t1 ( - `id1` int unsigned not null default '0', - `id2` int unsigned not null default '0', - `link_type` int unsigned not null default '0', - `visibility` tinyint not null default '0', - `data` varchar(255) not null default '', - `time` int unsigned not null default '0', - `version` int unsigned not null default '0', - primary key (id1, link_type, visibility, id2) -) default collate=latin1_bin; - -delimiter //; -create procedure select_test() -begin - declare id1_cond int; - set id1_cond = 1; - while id1_cond <= 10000 do - select count(*) as cnt from (select id1 from t1 force index (primary) where id1 = id1_cond and link_type = 1 and visibility = 1 order by id2 desc) as t into @cnt; - set id1_cond = id1_cond + 1; - end while; -end// -delimiter ;// - -insert t1 select seq, seq, 1, 1, seq, seq, seq from seq_1_to_2000; -set @before=unix_timestamp(); -call select_test(); -select unix_timestamp() - @before < 60; -drop procedure select_test; -drop table t1; |