mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MWL#17: Table elimination
- add debug tests (were accidentally not pushed with the bulk of WL)
This commit is contained in:
22
mysql-test/r/table_elim_debug.result
Normal file
22
mysql-test/r/table_elim_debug.result
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
drop table if exists t1, t2;
|
||||||
|
create table t1 (a int);
|
||||||
|
insert into t1 values (0),(1),(2),(3);
|
||||||
|
create table t2 (a int primary key, b int)
|
||||||
|
as select a, a as b from t1 where a in (1,2);
|
||||||
|
explain select t1.a from t1 left join t2 on t2.a=t1.a;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 4
|
||||||
|
set optimizer_switch='table_elimination=off';
|
||||||
|
explain select t1.a from t1 left join t2 on t2.a=t1.a;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 4
|
||||||
|
1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.a 1 Using index
|
||||||
|
set optimizer_switch='table_elimination=on';
|
||||||
|
explain select t1.a from t1 left join t2 on t2.a=t1.a;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 4
|
||||||
|
set optimizer_switch='table_elimination=default';
|
||||||
|
explain select t1.a from t1 left join t2 on t2.a=t1.a;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 4
|
||||||
|
drop table t1, t2;
|
27
mysql-test/t/table_elim_debug.test
Normal file
27
mysql-test/t/table_elim_debug.test
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#
|
||||||
|
# Table elimination (MWL#17) tests that need debug build
|
||||||
|
#
|
||||||
|
--source include/have_debug.inc
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1, t2;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
# Check if optimizer_switch works
|
||||||
|
|
||||||
|
create table t1 (a int);
|
||||||
|
insert into t1 values (0),(1),(2),(3);
|
||||||
|
|
||||||
|
create table t2 (a int primary key, b int)
|
||||||
|
as select a, a as b from t1 where a in (1,2);
|
||||||
|
|
||||||
|
explain select t1.a from t1 left join t2 on t2.a=t1.a;
|
||||||
|
|
||||||
|
set optimizer_switch='table_elimination=off';
|
||||||
|
explain select t1.a from t1 left join t2 on t2.a=t1.a;
|
||||||
|
set optimizer_switch='table_elimination=on';
|
||||||
|
explain select t1.a from t1 left join t2 on t2.a=t1.a;
|
||||||
|
set optimizer_switch='table_elimination=default';
|
||||||
|
explain select t1.a from t1 left join t2 on t2.a=t1.a;
|
||||||
|
|
||||||
|
drop table t1, t2;
|
Reference in New Issue
Block a user