mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| -- 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 ER_SUBQUERIES_NOT_SUPPORTED
 | |
| 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
 | 
