At file:///home/psergey/dev/maria-5.1/ ------------------------------------------------------------ revno: 2752 revision-id: psergey@askmonty.org-20091029175033-4agewzfel760eq7v parent: monty@askmonty.org-20091029000456-polv2cg8dp7zauj1 committer: Sergey Petrunya <psergey@askmonty.org> branch nick: maria-5.1 timestamp: Thu 2009-10-29 20:50:33 +0300 message: MWL#17: Table elimination - add debug tests (were accidentally not pushed with the bulk of WL) === added file 'mysql-test/r/table_elim_debug.result' --- a/mysql-test/r/table_elim_debug.result 1970-01-01 00:00:00 +0000 +++ b/mysql-test/r/table_elim_debug.result 2009-10-29 17:50:33 +0000 @@ -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; === added file 'mysql-test/t/table_elim_debug.test' --- a/mysql-test/t/table_elim_debug.test 1970-01-01 00:00:00 +0000 +++ b/mysql-test/t/table_elim_debug.test 2009-10-29 17:50:33 +0000 @@ -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;