mirror of
https://github.com/MariaDB/server.git
synced 2025-02-02 03:51:50 +01:00
125cf0d4e8
"set engine_condition_pushdown" is deprecated, engine condition pushdown is controlled by a new "set optimizer_switch=engine_condition_pushdown=on|off". mysql-test/r/index_merge_myisam.result: @@optimizer_switch has a new flag mysql-test/r/mysqld--help-notwin.result: @@optimizer_switch has a new flag mysql-test/r/mysqld--help-win.result: @@optimizer_switch has a new flag mysql-test/r/optimizer_switch_eng_cond_pushdown1.result: Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins). mysql-test/r/optimizer_switch_eng_cond_pushdown2.result: Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins). mysql-test/suite/ndb/r/ndb_condition_pushdown.result: @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead mysql-test/suite/ndb/r/ndb_gis.result: @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead mysql-test/suite/ndb/r/ndb_index_unique.result: @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead mysql-test/suite/ndb/t/ndb_condition_pushdown.test: @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead mysql-test/suite/ndb/t/ndb_gis.test: @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead mysql-test/suite/ndb/t/ndb_index_unique.test: @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result: Setting @@engine_condition_pushdown gives a deprecation warning now. We test that the engine_condition_pushdown flag of @@optimizer_switch, and @@engine_condition_pushdown influence each other (turning the flag on/off sets the variable on/off and vice-versa). mysql-test/suite/sys_vars/r/optimizer_switch_basic.result: @@optimizer_switch has a new flag mysql-test/suite/sys_vars/t/engine_condition_pushdown_basic.test: Setting @@engine_condition_pushdown gives a deprecation warning now. We test that the engine_condition_pushdown flag of @@optimizer_switch, and @@engine_condition_pushdown influence each other (turning the flag on/off sets the variable on/off and vice-versa). mysql-test/t/optimizer_switch_eng_cond_pushdown1-master.opt: Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins). mysql-test/t/optimizer_switch_eng_cond_pushdown1.test: Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins). mysql-test/t/optimizer_switch_eng_cond_pushdown2-master.opt: Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins). mysql-test/t/optimizer_switch_eng_cond_pushdown2.test: Check how --engine-condition-pushdown and --optimizer-switch influence each other when used together (last wins). sql/mysql_priv.h: new "engine_condition_pushdown" switch in @@optimizer_switch, on by default, like @@engine_condition_pushdown is on by default. Constants are ULL because optimizer_switch is stored in a ulonglong. sql/mysqld.cc: Making --engine-condition-pushdown and --optimizer-switch (command-line options) influence each other (last wins) sql/records.cc: @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead sql/sql_select.cc: @@engine_condition_pushdown is deprecated, use @@optimizer_switch instead sql/sys_vars.cc: Setting @@engine_condition_pushdown now issues a deprecation message. The version for removal is unknown at this point so I copied it from other deprecation warnings in this file. Turning on/off the engine_condition_pushdown flag of @@optimizer_switch (with SET) turns on/off the @@engine_condition_pushdown variable, and vice-versa, thanks to fix_* functions.
54 lines
3.2 KiB
Text
54 lines
3.2 KiB
Text
SET @start_global_value = @@global.optimizer_switch;
|
|
SELECT @start_global_value;
|
|
@start_global_value
|
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on
|
|
select @@global.optimizer_switch;
|
|
@@global.optimizer_switch
|
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on
|
|
select @@session.optimizer_switch;
|
|
@@session.optimizer_switch
|
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on
|
|
show global 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,engine_condition_pushdown=on
|
|
show session 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,engine_condition_pushdown=on
|
|
select * from information_schema.global_variables where variable_name='optimizer_switch';
|
|
VARIABLE_NAME VARIABLE_VALUE
|
|
OPTIMIZER_SWITCH index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on
|
|
select * from information_schema.session_variables where variable_name='optimizer_switch';
|
|
VARIABLE_NAME VARIABLE_VALUE
|
|
OPTIMIZER_SWITCH index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on
|
|
set global optimizer_switch=10;
|
|
select @@global.optimizer_switch;
|
|
@@global.optimizer_switch
|
|
index_merge=off,index_merge_union=on,index_merge_sort_union=off,index_merge_intersection=on,engine_condition_pushdown=off
|
|
set session optimizer_switch=5;
|
|
select @@session.optimizer_switch;
|
|
@@session.optimizer_switch
|
|
index_merge=on,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off,engine_condition_pushdown=off
|
|
set global optimizer_switch="index_merge_sort_union=on";
|
|
select @@global.optimizer_switch;
|
|
@@global.optimizer_switch
|
|
index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off
|
|
set session optimizer_switch="index_merge=off";
|
|
select @@session.optimizer_switch;
|
|
@@session.optimizer_switch
|
|
index_merge=off,index_merge_union=off,index_merge_sort_union=on,index_merge_intersection=off,engine_condition_pushdown=off
|
|
set session optimizer_switch="default";
|
|
select @@session.optimizer_switch;
|
|
@@session.optimizer_switch
|
|
index_merge=off,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=off
|
|
set global optimizer_switch=1.1;
|
|
ERROR 42000: Incorrect argument type to variable 'optimizer_switch'
|
|
set global optimizer_switch=1e1;
|
|
ERROR 42000: Incorrect argument type to variable 'optimizer_switch'
|
|
set session optimizer_switch="index_merge";
|
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'index_merge'
|
|
set session optimizer_switch="foobar";
|
|
ERROR 42000: Variable 'optimizer_switch' can't be set to the value of 'foobar'
|
|
SET @@global.optimizer_switch = @start_global_value;
|
|
SELECT @@global.optimizer_switch;
|
|
@@global.optimizer_switch
|
|
index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on
|