58 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								-- 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);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# 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 $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
							 | 
						||
| 
								 | 
							
								--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
							 |