-- source include/not_embedded.inc # # BUG#10308: purge log with subselect # Bug#28553: mysqld crash in "purge master log before(select time from information_schema)" # --error 1064 purge master logs before (select adddate(current_timestamp(), interval -4 day)); purge master logs before adddate(current_timestamp(), interval -4 day); --disable_warnings drop table if exists t1; --enable_warnings # # Bug31048: Many nested subqueries may cause server crash. # create table t1(a int,b int,key(a),key(b)); insert into t1(a,b) values (1,2),(2,1),(2,3),(3,4),(5,4),(5,5), (6,7),(7,4),(5,3); let $nesting= 26; let $should_work_nesting= 5; let $start= select sum(a),a from t1 where a> ( select sum(a) from t1 ; let $end= )group by a ; let $start_app= where a> ( select sum(a) from t1 ; let $end_pre= )group by b limit 1 ; --disable_result_log --disable_query_log # At least 4 level nesting should work without errors while ($should_work_nesting) { --echo $should_work_nesting eval select $should_work_nesting as 'STEP-1'; eval $start $end; eval explain $start $end; let $start= $start $start_app; let $end= $end_pre $end; dec $should_work_nesting; } # Other may fail with the 'stack overrun error' while ($nesting) { --echo $nesting eval select $nesting as 'STEP-2'; --error 0,1436 eval $start $end; --error 0,1436 eval explain $start $end; let $start= $start $start_app; let $end= $end_pre $end; dec $nesting; } --enable_result_log --enable_query_log drop table t1; --echo End of 5.1 tests