Merge
This commit is contained in:
commit
75bba30c5a
@ -1413,66 +1413,6 @@ WHERE
|
|||||||
`RUNID`= '' AND `SUBMITNR`= '' AND `ORDERNR`='' AND `PROGRAMM`='' AND
|
`RUNID`= '' AND `SUBMITNR`= '' AND `ORDERNR`='' AND `PROGRAMM`='' AND
|
||||||
`TESTID`='' AND `UCCHECK`='';
|
`TESTID`='' AND `UCCHECK`='';
|
||||||
drop table t1;
|
drop table t1;
|
||||||
#
|
|
||||||
# Generic @@optimizer_switch tests (move those into a separate file if
|
|
||||||
# we get another @@optimizer_switch user)
|
|
||||||
#
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='index_merge=off,index_merge_union=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='index_merge_union=on';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,index_merge_sort_union=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=off,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch=4;
|
|
||||||
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of '4'
|
|
||||||
set optimizer_switch=NULL;
|
|
||||||
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'NULL'
|
|
||||||
set optimizer_switch='default,index_merge';
|
|
||||||
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge'
|
|
||||||
set optimizer_switch='index_merge=index_merge';
|
|
||||||
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge=index_merge'
|
|
||||||
set optimizer_switch='index_merge=on,but...';
|
|
||||||
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'but...'
|
|
||||||
set optimizer_switch='index_merge=';
|
|
||||||
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge='
|
|
||||||
set optimizer_switch='index_merge';
|
|
||||||
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge'
|
|
||||||
set optimizer_switch='on';
|
|
||||||
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'on'
|
|
||||||
set optimizer_switch='index_merge=on,index_merge=off';
|
|
||||||
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge=off'
|
|
||||||
set optimizer_switch='index_merge_union=on,index_merge_union=default';
|
|
||||||
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge_union=default'
|
|
||||||
set optimizer_switch='default,index_merge=on,index_merge=off,default';
|
|
||||||
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge=off,default'
|
|
||||||
set optimizer_switch=default;
|
|
||||||
set optimizer_switch='index_merge=off,index_merge_union=off,default';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch=default;
|
|
||||||
select @@global.optimizer_switch;
|
|
||||||
@@global.optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set @@global.optimizer_switch=default;
|
|
||||||
select @@global.optimizer_switch;
|
|
||||||
@@global.optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
#
|
|
||||||
# Check index_merge's @@optimizer_switch flags
|
|
||||||
#
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
create table t0 (a int);
|
create table t0 (a int);
|
||||||
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
create table t1 (a int, b int, c int, filler char(100),
|
create table t1 (a int, b int, c int, filler char(100),
|
||||||
@ -1580,7 +1520,4 @@ explain select * from t1 where a=10 and b=10 or c=10;
|
|||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t1 index_merge a,b,c a,c 5,5 NULL 54 Using sort_union(a,c); Using where
|
1 SIMPLE t1 index_merge a,b,c a,c 5,5 NULL 54 Using sort_union(a,c); Using where
|
||||||
set optimizer_switch=default;
|
set optimizer_switch=default;
|
||||||
show variables like 'optimizer_switch';
|
|
||||||
Variable_name Value
|
|
||||||
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
drop table t0, t1;
|
drop table t0, t1;
|
||||||
|
@ -392,9 +392,9 @@ drop table t0, t1;
|
|||||||
# Part of MWL#67: DS-MRR backport: add an @@optimizer_switch flag for
|
# Part of MWL#67: DS-MRR backport: add an @@optimizer_switch flag for
|
||||||
# index_condition pushdown:
|
# index_condition pushdown:
|
||||||
# - engine_condition_pushdown does not affect ICP
|
# - engine_condition_pushdown does not affect ICP
|
||||||
select @@optimizer_switch;
|
select @@optimizer_switch like '%index_condition_pushdown=on%';
|
||||||
@@optimizer_switch
|
@@optimizer_switch like '%index_condition_pushdown=on%'
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
1
|
||||||
create table t0 (a int);
|
create table t0 (a int);
|
||||||
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
create table t1 (a int, b int, key(a));
|
create table t1 (a int, b int, key(a));
|
||||||
|
99
mysql-test/r/optimizer_switch.result
Normal file
99
mysql-test/r/optimizer_switch.result
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
#
|
||||||
|
# Generic @@optimizer_switch tests
|
||||||
|
#
|
||||||
|
#
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch='index_merge=off,index_merge_union=off';
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch='index_merge_union=on';
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch='default,index_merge_sort_union=off';
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=off,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch=4;
|
||||||
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of '4'
|
||||||
|
set optimizer_switch=NULL;
|
||||||
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'NULL'
|
||||||
|
set optimizer_switch='default,index_merge';
|
||||||
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge'
|
||||||
|
set optimizer_switch='index_merge=index_merge';
|
||||||
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge=index_merge'
|
||||||
|
set optimizer_switch='index_merge=on,but...';
|
||||||
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'but...'
|
||||||
|
set optimizer_switch='index_merge=';
|
||||||
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge='
|
||||||
|
set optimizer_switch='index_merge';
|
||||||
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge'
|
||||||
|
set optimizer_switch='on';
|
||||||
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'on'
|
||||||
|
set optimizer_switch='index_merge=on,index_merge=off';
|
||||||
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge=off'
|
||||||
|
set optimizer_switch='index_merge_union=on,index_merge_union=default';
|
||||||
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge_union=default'
|
||||||
|
set optimizer_switch='default,index_merge=on,index_merge=off,default';
|
||||||
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge=off,default'
|
||||||
|
set optimizer_switch=default;
|
||||||
|
set optimizer_switch='index_merge=off,index_merge_union=off,default';
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch=default;
|
||||||
|
select @@global.optimizer_switch;
|
||||||
|
@@global.optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set @@global.optimizer_switch=default;
|
||||||
|
select @@global.optimizer_switch;
|
||||||
|
@@global.optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
#
|
||||||
|
# Check index_merge's @@optimizer_switch flags
|
||||||
|
#
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
|
||||||
|
BUG#37120 optimizer_switch allowable values not according to specification
|
||||||
|
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch='default,materialization=off';
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=off,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch='default,semijoin=off';
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch='default,loosescan=off';
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=off,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch='default,semijoin=off,materialization=off';
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=off,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch='default,materialization=off,semijoin=off';
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=off,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch='default,semijoin=off,materialization=off,loosescan=off';
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=off,materialization=off,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch='default,semijoin=off,loosescan=off';
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=off,materialization=on,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch='default,materialization=off,loosescan=off';
|
||||||
|
select @@optimizer_switch;
|
||||||
|
@@optimizer_switch
|
||||||
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=off,materialization=off,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
||||||
|
set optimizer_switch=default;
|
@ -1,6 +1,6 @@
|
|||||||
show variables like 'optimizer_switch';
|
select @@optimizer_switch like '%materialization=on%';
|
||||||
Variable_name Value
|
@@optimizer_switch like '%materialization=on%'
|
||||||
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
1
|
||||||
set optimizer_switch='materialization=off';
|
set optimizer_switch='materialization=off';
|
||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t11,t12;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t11,t12;
|
||||||
set @save_optimizer_switch=@@optimizer_switch;
|
set @save_optimizer_switch=@@optimizer_switch;
|
||||||
@ -4925,6 +4925,6 @@ DROP TABLE t3;
|
|||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
set optimizer_switch=default;
|
set optimizer_switch=default;
|
||||||
show variables like 'optimizer_switch';
|
select @@optimizer_switch like '%materialization=on%';
|
||||||
Variable_name Value
|
@@optimizer_switch like '%materialization=on%'
|
||||||
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
1
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
show variables like 'optimizer_switch';
|
|
||||||
Variable_name Value
|
|
||||||
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='materialization=off,semijoin=off';
|
set optimizer_switch='materialization=off,semijoin=off';
|
||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t11,t12;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t11,t12;
|
||||||
set @save_optimizer_switch=@@optimizer_switch;
|
set @save_optimizer_switch=@@optimizer_switch;
|
||||||
@ -4925,6 +4922,3 @@ DROP TABLE t3;
|
|||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
set optimizer_switch=default;
|
set optimizer_switch=default;
|
||||||
show variables like 'optimizer_switch';
|
|
||||||
Variable_name Value
|
|
||||||
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
show variables like 'optimizer_switch';
|
|
||||||
Variable_name Value
|
|
||||||
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='semijoin=off';
|
set optimizer_switch='semijoin=off';
|
||||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t11,t12;
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t11,t12;
|
||||||
set @save_optimizer_switch=@@optimizer_switch;
|
set @save_optimizer_switch=@@optimizer_switch;
|
||||||
@ -4925,6 +4922,3 @@ DROP TABLE t3;
|
|||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
set optimizer_switch=default;
|
set optimizer_switch=default;
|
||||||
show variables like 'optimizer_switch';
|
|
||||||
Variable_name Value
|
|
||||||
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
|
@ -197,45 +197,6 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
|||||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 103 100.00 Using where; Using join buffer
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 103 100.00 Using where; Using join buffer
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t10` join `test`.`t1` where ((`test`.`t1`.`a` = `test`.`t10`.`pk`) and (`test`.`t10`.`pk` < 3))
|
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t10` join `test`.`t1` where ((`test`.`t1`.`a` = `test`.`t10`.`pk`) and (`test`.`t10`.`pk` < 3))
|
||||||
|
|
||||||
BUG#37120 optimizer_switch allowable values not according to specification
|
|
||||||
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,materialization=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=off,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,semijoin=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,loosescan=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=off,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,semijoin=off,materialization=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=off,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,materialization=off,semijoin=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=off,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,semijoin=off,materialization=off,loosescan=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=off,materialization=off,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,semijoin=off,loosescan=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=off,materialization=on,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,materialization=off,loosescan=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=off,materialization=off,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch=default;
|
|
||||||
drop table t0, t1, t2;
|
drop table t0, t1, t2;
|
||||||
drop table t10, t11, t12;
|
drop table t10, t11, t12;
|
||||||
|
|
||||||
|
@ -201,45 +201,6 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
|||||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 103 100.00 Using where; Using join buffer
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 103 100.00 Using where; Using join buffer
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t10` join `test`.`t1` where ((`test`.`t1`.`a` = `test`.`t10`.`pk`) and (`test`.`t10`.`pk` < 3))
|
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t10` join `test`.`t1` where ((`test`.`t1`.`a` = `test`.`t10`.`pk`) and (`test`.`t10`.`pk` < 3))
|
||||||
|
|
||||||
BUG#37120 optimizer_switch allowable values not according to specification
|
|
||||||
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,materialization=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=off,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,semijoin=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=on,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,loosescan=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=off,materialization=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,semijoin=off,materialization=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=off,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,materialization=off,semijoin=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=on,materialization=off,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,semijoin=off,materialization=off,loosescan=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=off,materialization=off,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,semijoin=off,loosescan=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=off,materialization=on,semijoin=off,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch='default,materialization=off,loosescan=off';
|
|
||||||
select @@optimizer_switch;
|
|
||||||
@@optimizer_switch
|
|
||||||
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_condition_pushdown=on,firstmatch=on,loosescan=off,materialization=off,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on
|
|
||||||
set optimizer_switch=default;
|
|
||||||
drop table t0, t1, t2;
|
drop table t0, t1, t2;
|
||||||
drop table t10, t11, t12;
|
drop table t10, t11, t12;
|
||||||
|
|
||||||
|
@ -20,78 +20,6 @@ let $merge_table_support= 1;
|
|||||||
--source include/index_merge_2sweeps.inc
|
--source include/index_merge_2sweeps.inc
|
||||||
--source include/index_merge_ror_cpk.inc
|
--source include/index_merge_ror_cpk.inc
|
||||||
|
|
||||||
--echo #
|
|
||||||
--echo # Generic @@optimizer_switch tests (move those into a separate file if
|
|
||||||
--echo # we get another @@optimizer_switch user)
|
|
||||||
--echo #
|
|
||||||
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
set optimizer_switch='index_merge=off,index_merge_union=off';
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
set optimizer_switch='index_merge_union=on';
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
set optimizer_switch='default,index_merge_sort_union=off';
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
--error ER_WRONG_VALUE_FOR_VAR
|
|
||||||
set optimizer_switch=4;
|
|
||||||
|
|
||||||
--error ER_WRONG_VALUE_FOR_VAR
|
|
||||||
set optimizer_switch=NULL;
|
|
||||||
|
|
||||||
--error ER_WRONG_VALUE_FOR_VAR
|
|
||||||
set optimizer_switch='default,index_merge';
|
|
||||||
|
|
||||||
--error ER_WRONG_VALUE_FOR_VAR
|
|
||||||
set optimizer_switch='index_merge=index_merge';
|
|
||||||
|
|
||||||
--error ER_WRONG_VALUE_FOR_VAR
|
|
||||||
set optimizer_switch='index_merge=on,but...';
|
|
||||||
|
|
||||||
--error ER_WRONG_VALUE_FOR_VAR
|
|
||||||
set optimizer_switch='index_merge=';
|
|
||||||
|
|
||||||
--error ER_WRONG_VALUE_FOR_VAR
|
|
||||||
set optimizer_switch='index_merge';
|
|
||||||
|
|
||||||
--error ER_WRONG_VALUE_FOR_VAR
|
|
||||||
set optimizer_switch='on';
|
|
||||||
|
|
||||||
--error ER_WRONG_VALUE_FOR_VAR
|
|
||||||
set optimizer_switch='index_merge=on,index_merge=off';
|
|
||||||
|
|
||||||
--error ER_WRONG_VALUE_FOR_VAR
|
|
||||||
set optimizer_switch='index_merge_union=on,index_merge_union=default';
|
|
||||||
|
|
||||||
--error ER_WRONG_VALUE_FOR_VAR
|
|
||||||
set optimizer_switch='default,index_merge=on,index_merge=off,default';
|
|
||||||
|
|
||||||
set optimizer_switch=default;
|
|
||||||
set optimizer_switch='index_merge=off,index_merge_union=off,default';
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
set optimizer_switch=default;
|
|
||||||
|
|
||||||
# Check setting defaults for global vars
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@global.optimizer_switch;
|
|
||||||
set @@global.optimizer_switch=default;
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@global.optimizer_switch;
|
|
||||||
|
|
||||||
--echo #
|
|
||||||
--echo # Check index_merge's @@optimizer_switch flags
|
|
||||||
--echo #
|
|
||||||
--replace_regex /,table_elimination.on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
create table t0 (a int);
|
create table t0 (a int);
|
||||||
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||||
create table t1 (a int, b int, c int, filler char(100),
|
create table t1 (a int, b int, c int, filler char(100),
|
||||||
@ -190,8 +118,6 @@ set optimizer_switch='default,index_merge_union=off';
|
|||||||
explain select * from t1 where a=10 and b=10 or c=10;
|
explain select * from t1 where a=10 and b=10 or c=10;
|
||||||
|
|
||||||
set optimizer_switch=default;
|
set optimizer_switch=default;
|
||||||
--replace_regex /,table_elimination.on//
|
|
||||||
show variables like 'optimizer_switch';
|
|
||||||
|
|
||||||
drop table t0, t1;
|
drop table t0, t1;
|
||||||
|
|
||||||
|
@ -103,8 +103,7 @@ drop table t0, t1;
|
|||||||
|
|
||||||
|
|
||||||
# Check that optimizer_switch is present
|
# Check that optimizer_switch is present
|
||||||
--replace_regex /,table_elimination=o[nf]*//
|
select @@optimizer_switch like '%index_condition_pushdown=on%';
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
# Check if it affects ICP
|
# Check if it affects ICP
|
||||||
create table t0 (a int);
|
create table t0 (a int);
|
||||||
|
113
mysql-test/t/optimizer_switch.test
Normal file
113
mysql-test/t/optimizer_switch.test
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
--echo #
|
||||||
|
--echo # Generic @@optimizer_switch tests
|
||||||
|
--echo #
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
set optimizer_switch='index_merge=off,index_merge_union=off';
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
set optimizer_switch='index_merge_union=on';
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
set optimizer_switch='default,index_merge_sort_union=off';
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
set optimizer_switch=4;
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
set optimizer_switch=NULL;
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
set optimizer_switch='default,index_merge';
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
set optimizer_switch='index_merge=index_merge';
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
set optimizer_switch='index_merge=on,but...';
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
set optimizer_switch='index_merge=';
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
set optimizer_switch='index_merge';
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
set optimizer_switch='on';
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
set optimizer_switch='index_merge=on,index_merge=off';
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
set optimizer_switch='index_merge_union=on,index_merge_union=default';
|
||||||
|
|
||||||
|
--error ER_WRONG_VALUE_FOR_VAR
|
||||||
|
set optimizer_switch='default,index_merge=on,index_merge=off,default';
|
||||||
|
|
||||||
|
set optimizer_switch=default;
|
||||||
|
set optimizer_switch='index_merge=off,index_merge_union=off,default';
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
set optimizer_switch=default;
|
||||||
|
|
||||||
|
# Check setting defaults for global vars
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@global.optimizer_switch;
|
||||||
|
set @@global.optimizer_switch=default;
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@global.optimizer_switch;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # Check index_merge's @@optimizer_switch flags
|
||||||
|
--echo #
|
||||||
|
--replace_regex /,table_elimination.on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
--echo
|
||||||
|
--echo BUG#37120 optimizer_switch allowable values not according to specification
|
||||||
|
--echo
|
||||||
|
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
set optimizer_switch='default,materialization=off';
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
set optimizer_switch='default,semijoin=off';
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
set optimizer_switch='default,loosescan=off';
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
set optimizer_switch='default,semijoin=off,materialization=off';
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
set optimizer_switch='default,materialization=off,semijoin=off';
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
set optimizer_switch='default,semijoin=off,materialization=off,loosescan=off';
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
set optimizer_switch='default,semijoin=off,loosescan=off';
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
|
||||||
|
set optimizer_switch='default,materialization=off,loosescan=off';
|
||||||
|
--replace_regex /,table_elimination=on//
|
||||||
|
select @@optimizer_switch;
|
||||||
|
set optimizer_switch=default;
|
||||||
|
|
||||||
|
|
@ -1,13 +1,11 @@
|
|||||||
#
|
#
|
||||||
# Run subselect.test without semi-join optimization (test materialize)
|
# Run subselect.test without semi-join optimization (test materialize)
|
||||||
#
|
#
|
||||||
--replace_regex /,table_elimination=on//
|
select @@optimizer_switch like '%materialization=on%';
|
||||||
show variables like 'optimizer_switch';
|
|
||||||
set optimizer_switch='materialization=off';
|
set optimizer_switch='materialization=off';
|
||||||
|
|
||||||
--source t/subselect.test
|
--source t/subselect.test
|
||||||
|
|
||||||
set optimizer_switch=default;
|
set optimizer_switch=default;
|
||||||
--replace_regex /,table_elimination=on//
|
select @@optimizer_switch like '%materialization=on%';
|
||||||
show variables like 'optimizer_switch';
|
|
||||||
|
|
||||||
|
@ -1,13 +1,9 @@
|
|||||||
#
|
#
|
||||||
# Run subselect.test without semi-join optimization (test materialize)
|
# Run subselect.test without semi-join optimization (test materialize)
|
||||||
#
|
#
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
show variables like 'optimizer_switch';
|
|
||||||
set optimizer_switch='materialization=off,semijoin=off';
|
set optimizer_switch='materialization=off,semijoin=off';
|
||||||
|
|
||||||
--source t/subselect.test
|
--source t/subselect.test
|
||||||
|
|
||||||
set optimizer_switch=default;
|
set optimizer_switch=default;
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
show variables like 'optimizer_switch';
|
|
||||||
|
|
||||||
|
@ -1,13 +1,8 @@
|
|||||||
#
|
#
|
||||||
# Run subselect.test without semi-join optimization (test materialize)
|
# Run subselect.test without semi-join optimization (test materialize)
|
||||||
#
|
#
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
show variables like 'optimizer_switch';
|
|
||||||
set optimizer_switch='semijoin=off';
|
set optimizer_switch='semijoin=off';
|
||||||
|
|
||||||
--source t/subselect.test
|
--source t/subselect.test
|
||||||
|
|
||||||
set optimizer_switch=default;
|
set optimizer_switch=default;
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
show variables like 'optimizer_switch';
|
|
||||||
|
|
||||||
|
@ -92,46 +92,6 @@ execute s1;
|
|||||||
insert into t1 select (A.a + 10 * B.a),1 from t0 A, t0 B;
|
insert into t1 select (A.a + 10 * B.a),1 from t0 A, t0 B;
|
||||||
explain extended select * from t1 where a in (select pk from t10 where pk<3);
|
explain extended select * from t1 where a in (select pk from t10 where pk<3);
|
||||||
|
|
||||||
--echo
|
|
||||||
--echo BUG#37120 optimizer_switch allowable values not according to specification
|
|
||||||
--echo
|
|
||||||
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
set optimizer_switch='default,materialization=off';
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
set optimizer_switch='default,semijoin=off';
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
set optimizer_switch='default,loosescan=off';
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
set optimizer_switch='default,semijoin=off,materialization=off';
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
set optimizer_switch='default,materialization=off,semijoin=off';
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
set optimizer_switch='default,semijoin=off,materialization=off,loosescan=off';
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
set optimizer_switch='default,semijoin=off,loosescan=off';
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
|
|
||||||
set optimizer_switch='default,materialization=off,loosescan=off';
|
|
||||||
--replace_regex /,table_elimination=on//
|
|
||||||
select @@optimizer_switch;
|
|
||||||
set optimizer_switch=default;
|
|
||||||
|
|
||||||
drop table t0, t1, t2;
|
drop table t0, t1, t2;
|
||||||
drop table t10, t11, t12;
|
drop table t10, t11, t12;
|
||||||
|
|
||||||
|
@ -409,6 +409,12 @@ static const char *optimizer_switch_str="index_merge=on,index_merge_union=on,"
|
|||||||
"index_merge_sort_union=on,"
|
"index_merge_sort_union=on,"
|
||||||
"index_merge_intersection=on,"
|
"index_merge_intersection=on,"
|
||||||
"index_condition_pushdown=on,"
|
"index_condition_pushdown=on,"
|
||||||
|
"firstmatch=on,"
|
||||||
|
"loosescan=on,"
|
||||||
|
"materialization=on,"
|
||||||
|
"semijoin=on,"
|
||||||
|
"partial_match_rowid_merge=on,"
|
||||||
|
"partial_match_table_scan=on,"
|
||||||
"subquery_cache=on"
|
"subquery_cache=on"
|
||||||
#ifndef DBUG_OFF
|
#ifndef DBUG_OFF
|
||||||
",table_elimination=on";
|
",table_elimination=on";
|
||||||
@ -7227,7 +7233,9 @@ The minimum value for this variable is 4096.",
|
|||||||
{"optimizer_switch", OPT_OPTIMIZER_SWITCH,
|
{"optimizer_switch", OPT_OPTIMIZER_SWITCH,
|
||||||
"optimizer_switch=option=val[,option=val...], where option={index_merge, "
|
"optimizer_switch=option=val[,option=val...], where option={index_merge, "
|
||||||
"index_merge_union, index_merge_sort_union, index_merge_intersection, "
|
"index_merge_union, index_merge_sort_union, index_merge_intersection, "
|
||||||
"index_condition_pushdown, subquery_cache"
|
"index_condition_pushdown, firstmatch, loosescan, materialization, "
|
||||||
|
"semijoin, partial_match_rowid_merge, partial_match_table_scan, "
|
||||||
|
"subquery_cache"
|
||||||
#ifndef DBUG_OFF
|
#ifndef DBUG_OFF
|
||||||
", table_elimination"
|
", table_elimination"
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user