66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
|  | # include/index_merge_2sweeps.inc
 | ||
|  | #
 | ||
|  | # 2-sweeps read Index_merge test
 | ||
|  | #
 | ||
|  | # The variable
 | ||
|  | #     $engine_type       -- storage engine to be tested
 | ||
|  | # has to be set before sourcing this script.
 | ||
|  | #
 | ||
|  | # Last update:
 | ||
|  | # 2006-08-02 ML test refactored
 | ||
|  | #               old name was index_merge_innodb2.test
 | ||
|  | #               main code went into include/index_merge_2sweeps.inc
 | ||
|  | #
 | ||
|  | 
 | ||
|  | --echo #---------------- 2-sweeps read Index merge test 2 -------------------------------
 | ||
|  | 
 | ||
|  | eval SET SESSION STORAGE_ENGINE = $engine_type; | ||
|  | 
 | ||
|  | --disable_warnings | ||
|  | drop table if exists t1; | ||
|  | --enable_warnings | ||
|  | 
 | ||
|  | create table t1 ( | ||
|  |   pk int primary key, | ||
|  |   key1 int, | ||
|  |   key2 int, | ||
|  |   filler char(200), | ||
|  |   filler2 char(200), | ||
|  |   index(key1), | ||
|  |   index(key2) | ||
|  | ); | ||
|  | 
 | ||
|  | 
 | ||
|  | --disable_query_log | ||
|  | let $1=1000; | ||
|  | while ($1) | ||
|  | { | ||
|  |   eval insert into t1 values($1, $1, $1, 'filler-data','filler-data-2'); | ||
|  |   dec $1; | ||
|  | } | ||
|  | --enable_query_log | ||
|  | 
 | ||
|  | select * from t1 where (key1 >= 2 and key1 <= 10) or (pk >= 4 and pk <=8 ); | ||
|  | 
 | ||
|  | set @maxv=1000; | ||
|  | 
 | ||
|  | select * from t1 where | ||
|  |   (pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10) | ||
|  |   or key1=18 or key1=60; | ||
|  | 
 | ||
|  | select * from t1 where | ||
|  |   (pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10) | ||
|  |   or key1 < 3 or key1 > @maxv-11; | ||
|  | 
 | ||
|  | select * from t1 where | ||
|  |   (pk < 5) or (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) or (pk > @maxv-10) | ||
|  |   or | ||
|  |   (key1 < 5) or (key1 > 10 and key1 < 15) or (key1 >= 50 and key1 < 55 ) or (key1 > @maxv-10); | ||
|  | 
 | ||
|  | select * from t1 where | ||
|  |   (pk > 10 and pk < 15) or (pk >= 50 and pk < 55 ) | ||
|  |   or | ||
|  |   (key1 < 5) or (key1 > @maxv-10); | ||
|  | 
 | ||
|  | drop table t1; |