130 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			130 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | # | ||
|  | # Test of group functions that depend on innodb | ||
|  | # | ||
|  | 
 | ||
|  | --source include/have_innodb.inc | ||
|  | 
 | ||
|  | --disable_warnings | ||
|  | create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) engine=InnoDB; | ||
|  | --enable_warnings | ||
|  | insert into t1 values (1, 3); | ||
|  | select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ from t1 group by MAX_REQ; | ||
|  | select Case When Count(*) < MAX_REQ Then 1 Else 0 End from t1 where t1.USR_ID = 1 group by MAX_REQ; | ||
|  | drop table t1; | ||
|  | 
 | ||
|  | 
 | ||
|  | # | ||
|  | # Bug #12882  	min/max inconsistent on empty table | ||
|  | # | ||
|  | 
 | ||
|  | --disable_warnings | ||
|  | create table t1m (a int) engine=myisam; | ||
|  | create table t1i (a int) engine=innodb; | ||
|  | create table t2m (a int) engine=myisam; | ||
|  | create table t2i (a int) engine=innodb; | ||
|  | --enable_warnings | ||
|  | insert into t2m values (5); | ||
|  | insert into t2i values (5); | ||
|  | 
 | ||
|  | # test with MyISAM | ||
|  | select min(a) from t1m; | ||
|  | select min(7) from t1m; | ||
|  | select min(7) from DUAL; | ||
|  | explain select min(7) from t2m join t1m; | ||
|  | select min(7) from t2m join t1m; | ||
|  | 
 | ||
|  | select max(a) from t1m; | ||
|  | select max(7) from t1m; | ||
|  | select max(7) from DUAL; | ||
|  | explain select max(7) from t2m join t1m; | ||
|  | select max(7) from t2m join t1m; | ||
|  | 
 | ||
|  | select 1, min(a) from t1m where a=99; | ||
|  | select 1, min(a) from t1m where 1=99; | ||
|  | select 1, min(1) from t1m where a=99; | ||
|  | select 1, min(1) from t1m where 1=99; | ||
|  | 
 | ||
|  | select 1, max(a) from t1m where a=99; | ||
|  | select 1, max(a) from t1m where 1=99; | ||
|  | select 1, max(1) from t1m where a=99; | ||
|  | select 1, max(1) from t1m where 1=99; | ||
|  | 
 | ||
|  | # test with InnoDB | ||
|  | select min(a) from t1i; | ||
|  | select min(7) from t1i; | ||
|  | select min(7) from DUAL; | ||
|  | explain select min(7) from t2i join t1i; | ||
|  | select min(7) from t2i join t1i; | ||
|  | 
 | ||
|  | select max(a) from t1i; | ||
|  | select max(7) from t1i; | ||
|  | select max(7) from DUAL; | ||
|  | explain select max(7) from t2i join t1i; | ||
|  | select max(7) from t2i join t1i; | ||
|  | 
 | ||
|  | select 1, min(a) from t1i where a=99; | ||
|  | select 1, min(a) from t1i where 1=99; | ||
|  | select 1, min(1) from t1i where a=99; | ||
|  | select 1, min(1) from t1i where 1=99; | ||
|  | 
 | ||
|  | select 1, max(a) from t1i where a=99; | ||
|  | select 1, max(a) from t1i where 1=99; | ||
|  | select 1, max(1) from t1i where a=99; | ||
|  | select 1, max(1) from t1i where 1=99; | ||
|  | 
 | ||
|  | # mixed MyISAM/InnoDB test | ||
|  | explain select count(*), min(7), max(7) from t1m, t1i; | ||
|  | select count(*), min(7), max(7) from t1m, t1i; | ||
|  | 
 | ||
|  | explain select count(*), min(7), max(7) from t1m, t2i; | ||
|  | select count(*), min(7), max(7) from t1m, t2i; | ||
|  | 
 | ||
|  | explain select count(*), min(7), max(7) from t2m, t1i; | ||
|  | select count(*), min(7), max(7) from t2m, t1i; | ||
|  | 
 | ||
|  | drop table t1m, t1i, t2m, t2i; | ||
|  | 
 | ||
|  | --echo # | ||
|  | --echo # Bug#12713907: STRANGE OPTIMIZE & WRONG RESULT UNDER ORDER BY  | ||
|  | --echo # COUNT(*) LIMIT. | ||
|  | --echo # | ||
|  | 
 | ||
|  | CREATE TABLE t1 ( | ||
|  | id BIGINT(20) , | ||
|  | member_id_to INT(11) , | ||
|  | r_date DATE , | ||
|  | PRIMARY KEY (id,r_date), | ||
|  | KEY r_date_idx (r_date), | ||
|  | KEY t1_idx01 (member_id_to) | ||
|  | ) ENGINE=InnoDB; | ||
|  | 
 | ||
|  | INSERT INTO t1 VALUES | ||
|  | (107924526,518491,'2011-05-01'), | ||
|  | (107924527,518491,'2011-05-01'), | ||
|  | (107924528,518491,'2011-05-01'), | ||
|  | (107924529,518491,'2011-05-01'), | ||
|  | (107924530,518491,'2011-05-01'), | ||
|  | (107924531,518491,'2011-05-01'), | ||
|  | (107924532,518491,'2011-05-01'), | ||
|  | (107924534,518491,'2011-06-21'), | ||
|  | (107924535,518491,'2011-06-21'), | ||
|  | (107924536,518491,'2011-06-21'), | ||
|  | (107924537,518491,'2011-06-21'), | ||
|  | (107924538,518491,'2011-06-21'), | ||
|  | (107924542,1601319,'2011-06-21'), | ||
|  | (107924543,1601319,'2011-06-21'), | ||
|  | (107924544,1601319,'2011-06-21'), | ||
|  | (107924545,1601319,'2011-06-21'), | ||
|  | (107924546,1601319,'2011-06-21'), | ||
|  | (107924547,1601319,'2011-06-21'), | ||
|  | (107924548,1601319,'2011-06-21'), | ||
|  | (107924549,1601319,'2011-06-21'), | ||
|  | (107924550,1601319,'2011-06-21'); | ||
|  | 
 | ||
|  | SELECT member_id_to, COUNT(*) FROM t1 WHERE r_date = | ||
|  |   '2011-06-21' GROUP BY member_id_to ORDER BY 2 LIMIT 1; | ||
|  | 
 | ||
|  | DROP TABLE t1; | ||
|  | 
 | ||
|  | --echo # End of test  BUG#12713907 |