mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 19:06:14 +01:00 
			
		
		
		
	 45bc7574fb
			
		
	
	
	45bc7574fb
	
	
	
		
			
			Remove usage of deprecated variable storage_engine. It was deprecated in 5.5 but it never issued a deprecation warning. Make it issue a warning in 10.5.1. Replaced with default_storage_engine.
		
			
				
	
	
		
			90 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # ICP/InnoDB tests (Index Condition Pushdown)
 | |
| #
 | |
| 
 | |
| --source include/have_innodb.inc
 | |
| --source include/default_optimizer_switch.inc
 | |
| 
 | |
| set @save_storage_engine= @@default_storage_engine;
 | |
| set default_storage_engine=InnoDB;
 | |
| 
 | |
| set @innodb_stats_persistent_save= @@innodb_stats_persistent;
 | |
| set @innodb_stats_persistent_sample_pages_save=
 | |
|       @@innodb_stats_persistent_sample_pages;
 | |
| 
 | |
| set global innodb_stats_persistent= 1;
 | |
| set global innodb_stats_persistent_sample_pages=100;
 | |
| 
 | |
| set @innodb_icp_tmp=@@optimizer_switch;
 | |
| set optimizer_switch='mrr=on,mrr_sort_keys=on,index_condition_pushdown=on';
 | |
| 
 | |
| --source include/icp_tests.inc
 | |
| 
 | |
| --echo #
 | |
| --echo # BUG#920132: Assert trx->n_active_thrs == 1 failed at que0que.c line 1050 
 | |
| --echo #
 | |
| CREATE TABLE t1 ( a INT )
 | |
|   ENGINE=InnoDB;
 | |
| INSERT INTO t1 VALUES (7),(7);
 | |
| 
 | |
| CREATE TABLE t2 ( b VARCHAR(1) );
 | |
| INSERT INTO t2 VALUES ('j'),('v');
 | |
| 
 | |
| CREATE TABLE t3 (
 | |
|   c INT, d VARCHAR(1), e VARCHAR(1),
 | |
|   KEY (d,c)
 | |
| ) ENGINE=InnoDB;
 | |
| INSERT INTO t3
 | |
|   VALUES (6,'w','w'),
 | |
|     (1,'v','v'),(7,'s','s'),(4,'l','l'),
 | |
|     (7,'y','y'),(0,'c','c'),(2,'i','i'),
 | |
|     (9,'h','h'),(4,'q','q'),(0,'a','a'),
 | |
|     (9,'v','v'),(1,'u','u'),(3,'s','s'),
 | |
|     (8,'z','z'),(1,'h','h'),(8,'p','p'),
 | |
|     (6,'e','e'),(3,'i','i'),(6,'y','y');
 | |
| 
 | |
| SELECT *
 | |
| FROM t1 INNER JOIN t2 INNER JOIN t3
 | |
|   ON d = b
 | |
| WHERE
 | |
|   NOT EXISTS ( SELECT * FROM t3 )
 | |
|   OR a = c
 | |
| ORDER BY e;
 | |
| 
 | |
| DROP TABLE t1,t2,t3;
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-5337: Wrong result in mariadb 5.5.32 with ORDER BY + LIMIT when index_condition_pushdown=on
 | |
| --echo # MDEV-5512: Wrong result (WHERE clause ignored) with multiple clauses using Percona-XtraDB engine
 | |
| --echo #
 | |
| 
 | |
| create table t1(a int);
 | |
| insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
 | |
| 
 | |
| create table t2 (pk int primary key, 
 | |
|   key1 char(32),
 | |
|   key2 char(32),
 | |
|   key(key1),
 | |
|   key(key2)
 | |
| ) engine=innodb;
 | |
| 
 | |
| insert into t2 select 
 | |
|   A.a+10*B.a+100*C.a,
 | |
|   concat('rare-', A.a+10*B.a),
 | |
|   concat('rare-', A.a+10*B.a)
 | |
| from
 | |
|   t1 A, t1 B, t1 C;
 | |
| update t2 set key1='frequent-val' where pk between 100 and 350;
 | |
| select * from t2 ignore key(PRIMARY) 
 | |
| where key1='frequent-val' and key2 between 'rare-400' and 'rare-450' order by pk limit 2;
 | |
| 
 | |
| drop table t1, t2;
 | |
| 
 | |
| 
 | |
| set optimizer_switch=@innodb_icp_tmp;
 | |
| set default_storage_engine= @save_storage_engine;
 | |
| 
 | |
| set global innodb_stats_persistent= @innodb_stats_persistent_save;
 | |
| set global innodb_stats_persistent_sample_pages=
 | |
|              @innodb_stats_persistent_sample_pages_save;
 | |
| 
 |