diff options
author | Michael Widenius <monty@mariadb.org> | 2018-03-09 14:05:35 +0200 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2018-03-29 13:59:44 +0300 |
commit | a7abddeffa6a760ce948c2dfb007cdf3f1a369d5 (patch) | |
tree | 70eb743fa965a17380bbc0ac88ae79ca1075b896 /mysql-test/t/parser_stack.test | |
parent | ab1941266c59a19703a74b5593cf3f508a5752d7 (diff) | |
download | mariadb-git-a7abddeffa6a760ce948c2dfb007cdf3f1a369d5.tar.gz |
Create 'main' test directory and move 't' and 'r' there
Diffstat (limited to 'mysql-test/t/parser_stack.test')
-rw-r--r-- | mysql-test/t/parser_stack.test | 395 |
1 files changed, 0 insertions, 395 deletions
diff --git a/mysql-test/t/parser_stack.test b/mysql-test/t/parser_stack.test deleted file mode 100644 index 8bc316da18e..00000000000 --- a/mysql-test/t/parser_stack.test +++ /dev/null @@ -1,395 +0,0 @@ -# -# These tests are designed to cause an internal parser stack overflow, -# and trigger my_yyoverflow(). -# - -use test; - -SELECT -(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( -(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( -(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( -1 -)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -; - -prepare stmt from -" -SELECT -(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( -(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( -(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( -1 -)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -" -; - -execute stmt; - ---disable_warnings -drop view if exists view_overflow; ---enable_warnings - -CREATE VIEW view_overflow AS -SELECT -(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( -(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( -(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((( -1 -)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -; - -SELECT * from view_overflow; - -drop view view_overflow; - ---disable_warnings -drop procedure if exists proc_overflow; ---enable_warnings - -delimiter $$; - -CREATE PROCEDURE proc_overflow() -BEGIN - - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - - select 1; - select 2; - select 3; - - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - -END $$ - -delimiter ;$$ - -call proc_overflow(); - -drop procedure proc_overflow; - ---disable_warnings -drop function if exists func_overflow; ---enable_warnings - -delimiter $$; - -create function func_overflow() returns int -BEGIN - DECLARE x int default 0; - - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - - SET x=x+1; - SET x=x+2; - SET x=x+3; - - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - - return x; -END $$ - -delimiter ;$$ - -select func_overflow(); - -drop function func_overflow; - ---disable_warnings -drop table if exists table_overflow; ---enable_warnings - -create table table_overflow(a int, b int); - -delimiter $$; - -create trigger trigger_overflow before insert on table_overflow -for each row -BEGIN - - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN BEGIN - - SET NEW.b := NEW.a; - SET NEW.b := NEW.b + 1; - SET NEW.b := NEW.b + 2; - SET NEW.b := NEW.b + 3; - - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - END; END; END; END; END; END; END; END; END; END; END; END; - -END $$ - -delimiter ;$$ - -insert into table_overflow set a=10; -insert into table_overflow set a=20; -select * from table_overflow; - -drop table table_overflow; - ---disable_warnings -drop procedure if exists proc_35577; ---enable_warnings - -delimiter $$; - -CREATE PROCEDURE proc_35577() -BEGIN - DECLARE z_done INT DEFAULT 0; - DECLARE t_done VARCHAR(5000); - outer_loop: LOOP - IF t_done=1 THEN - LEAVE outer_loop; - END IF; - - inner_block:BEGIN - DECLARE z_done INT DEFAULT 0; - SET z_done = 0; - inner_loop: LOOP - IF z_done=1 THEN - LEAVE inner_loop; - END IF; - IF (t_done = 'a') THEN - IF (t_done <> 0) THEN - IF ( t_done > 0) THEN - IF (t_done = 'a') THEN - SET t_done = 'a'; - ELSEIF (t_done = 'a') THEN - SET t_done = 'a'; - ELSEIF(t_done = 'a') THEN - SET t_done = 'a'; - ELSEIF(t_done = 'a') THEN - SET t_done = 'a'; - ELSEIF(t_done = 'a') THEN - SET t_done = 'a'; - ELSEIF(t_done = 'a') THEN - SET t_done = 'a'; - ELSEIF(t_done = 'a') THEN - SET t_done = 'a'; - ELSEIF(t_done = 'a') THEN - SET t_done = 'a'; - END IF; - END IF; - END IF; - END IF; - END LOOP inner_loop; - END inner_block; - END LOOP outer_loop; -END $$ - -delimiter ;$$ - -drop procedure proc_35577; - -# -# Bug#37269 (parser crash when creating stored procedure) -# - ---disable_warnings -drop procedure if exists p_37269; ---enable_warnings - -delimiter $$; - -create procedure p_37269() -begin - declare done int default 0; - declare varb int default 0; - declare vara int default 0; - - repeat - select now(); - until done end repeat; - while varb do - select now(); - begin - select now(); - repeat - select now(); - until done end repeat; - if vara then - select now(); - repeat - select now(); - loop - select now(); - end loop; - repeat - select now(); - label1: while varb do - select now(); - end while label1; - if vara then - select now(); - repeat - select now(); - until done end repeat; - begin - select now(); - while varb do - select now(); - label1: while varb do - select now(); - end while label1; - if vara then - select now(); - while varb do - select now(); - loop - select now(); - end loop; - repeat - select now(); - loop - select now(); - while varb do - select now(); - end while; - repeat - select now(); - label1: loop - select now(); - if vara then - select now(); - end if; - end loop label1; - until done end repeat; - end loop; - until done end repeat; - end while; - end if; - end while; - end; - end if; - until done end repeat; - until done end repeat; - end if; - end; - end while; -end $$ - -delimiter ;$$ - -drop procedure p_37269; - -# -# Bug#37228 (Sever crashes when creating stored procedure with more than -# 10 IF/ELSEIF) -# - ---disable_warnings -drop procedure if exists p_37228; ---enable_warnings - -delimiter $$; - -create procedure p_37228 () -BEGIN - DECLARE v INT DEFAULT 123; - - IF (v > 1) THEN SET v = 1; - ELSEIF (v < 10) THEN SET v = 10; - ELSEIF (v < 11) THEN SET v = 11; - ELSEIF (v < 12) THEN SET v = 12; - ELSEIF (v < 13) THEN SET v = 13; - ELSEIF (v < 14) THEN SET v = 14; - ELSEIF (v < 15) THEN SET v = 15; - ELSEIF (v < 16) THEN SET v = 16; - ELSEIF (v < 17) THEN SET v = 17; - ELSEIF (v < 18) THEN SET v = 18; - ELSEIF (v < 19) THEN SET v = 19; - ELSEIF (v < 20) THEN SET v = 20; - ELSEIF (v < 21) THEN SET v = 21; - ELSEIF (v < 22) THEN SET v = 22; - ELSEIF (v < 23) THEN SET v = 23; - ELSEIF (v < 24) THEN SET v = 24; - ELSEIF (v < 25) THEN SET v = 25; - ELSEIF (v < 26) THEN SET v = 26; - ELSEIF (v < 27) THEN SET v = 27; - ELSEIF (v < 28) THEN SET v = 28; - ELSEIF (v < 29) THEN SET v = 29; - ELSEIF (v < 30) THEN SET v = 30; - ELSEIF (v < 31) THEN SET v = 31; - ELSEIF (v < 32) THEN SET v = 32; - ELSEIF (v < 33) THEN SET v = 33; - ELSEIF (v < 34) THEN SET v = 34; - ELSEIF (v < 35) THEN SET v = 35; - ELSEIF (v < 36) THEN SET v = 36; - ELSEIF (v < 37) THEN SET v = 37; - ELSEIF (v < 38) THEN SET v = 38; - ELSEIF (v < 39) THEN SET v = 39; - END IF; -END $$ - -delimiter ;$$ - -drop procedure p_37228; - -# -# Bug#27863 (excessive memory usage for many small queries in a multiquery -# packet). -# - -let $i=`select repeat("set @a=1;", 65535)`; ---disable_query_log -eval $i; ---enable_query_log |