mirror of
https://github.com/MariaDB/server.git
synced 2025-05-08 15:01:49 +03:00
"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.
268 lines
12 KiB
Plaintext
268 lines
12 KiB
Plaintext
############## mysql-test\t\engine_condition_pushdown_basic.test ##############
|
||
# #
|
||
# Variable Name: engine_condition_pushdown #
|
||
# Scope: GLOBAL | SESSION #
|
||
# Access Type: Dynamic #
|
||
# Data Type: boolean #
|
||
# Default Value: OFF #
|
||
# Valid Values: ON, OFF #
|
||
# #
|
||
# #
|
||
# Creation Date: 2008-02-07 #
|
||
# Author: Rizwan #
|
||
# #
|
||
# Description: Test Cases of Dynamic System Variable engine_condition_pushdown#
|
||
# that checks the behavior of this variable in the following ways#
|
||
# * Default Value #
|
||
# * Valid & Invalid values #
|
||
# * Scope & Access method #
|
||
# * Data Integrity #
|
||
# #
|
||
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
|
||
# server-system-variables.html #
|
||
# #
|
||
###############################################################################
|
||
|
||
--source include/load_sysvars.inc
|
||
|
||
########################################################################
|
||
# START OF engine_condition_pushdown TESTS #
|
||
########################################################################
|
||
|
||
|
||
###############################################################################
|
||
# Saving initial value of engine_condition_pushdown in a temporary variable #
|
||
###############################################################################
|
||
|
||
SET @session_start_value = @@session.engine_condition_pushdown;
|
||
SELECT @session_start_value;
|
||
|
||
SET @global_start_value = @@global.engine_condition_pushdown;
|
||
SELECT @global_start_value;
|
||
|
||
# same for optimizer_switch
|
||
select @old_session_opt_switch:=@@session.optimizer_switch,
|
||
@old_global_opt_switch:=@@global.optimizer_switch;
|
||
|
||
--echo '#--------------------FN_DYNVARS_028_01------------------------#'
|
||
########################################################################
|
||
# Display the DEFAULT value of engine_condition_pushdown #
|
||
########################################################################
|
||
|
||
SET @@session.engine_condition_pushdown = 0;
|
||
SET @@session.engine_condition_pushdown = DEFAULT;
|
||
SELECT @@session.engine_condition_pushdown;
|
||
|
||
SET @@global.engine_condition_pushdown = 0;
|
||
SET @@global.engine_condition_pushdown = DEFAULT;
|
||
SELECT @@global.engine_condition_pushdown;
|
||
|
||
--echo '#---------------------FN_DYNVARS_028_02-------------------------#'
|
||
###############################################################################
|
||
# Check if engine_condition_pushdown can be accessed with and without @@ sign #
|
||
###############################################################################
|
||
|
||
SET engine_condition_pushdown = 1;
|
||
SELECT @@engine_condition_pushdown;
|
||
|
||
--Error ER_UNKNOWN_TABLE
|
||
SELECT session.engine_condition_pushdown;
|
||
|
||
--Error ER_UNKNOWN_TABLE
|
||
SELECT local.engine_condition_pushdown;
|
||
|
||
--Error ER_UNKNOWN_TABLE
|
||
SELECT global.engine_condition_pushdown;
|
||
|
||
SET session engine_condition_pushdown = 0;
|
||
SELECT @@session.engine_condition_pushdown;
|
||
|
||
SET global engine_condition_pushdown = 0;
|
||
SELECT @@global.engine_condition_pushdown;
|
||
|
||
|
||
--echo '#--------------------FN_DYNVARS_028_03------------------------#'
|
||
##########################################################################
|
||
# change the value of engine_condition_pushdown to a valid value #
|
||
##########################################################################
|
||
|
||
SET @@session.engine_condition_pushdown = 0;
|
||
SELECT @@session.engine_condition_pushdown;
|
||
SET @@session.engine_condition_pushdown = 1;
|
||
SELECT @@session.engine_condition_pushdown;
|
||
|
||
|
||
SET @@global.engine_condition_pushdown = 0;
|
||
SELECT @@global.engine_condition_pushdown;
|
||
SET @@global.engine_condition_pushdown = 1;
|
||
SELECT @@global.engine_condition_pushdown;
|
||
|
||
|
||
--echo '#--------------------FN_DYNVARS_028_04-------------------------#'
|
||
###########################################################################
|
||
# Change the value of engine_condition_pushdown to invalid value #
|
||
###########################################################################
|
||
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@session.engine_condition_pushdown = -1;
|
||
--Error ER_WRONG_TYPE_FOR_VAR
|
||
SET @@session.engine_condition_pushdown = 1.6;
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@session.engine_condition_pushdown = "T";
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@session.engine_condition_pushdown = "Y";
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@session.engine_condition_pushdown = TR<54>E;
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@session.engine_condition_pushdown = <20>N;
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@session.engine_condition_pushdown = OF;
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@session.engine_condition_pushdown = <20>FF;
|
||
|
||
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@global.engine_condition_pushdown = -1;
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@global.engine_condition_pushdown = 2;
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@global.engine_condition_pushdown = "T";
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@global.engine_condition_pushdown = "Y";
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@global.engine_condition_pushdown = TR<54>E;
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@global.engine_condition_pushdown = <20>N;
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@global.engine_condition_pushdown = OF;
|
||
--Error ER_WRONG_VALUE_FOR_VAR
|
||
SET @@global.engine_condition_pushdown = <20>FF;
|
||
|
||
|
||
--echo '#-------------------FN_DYNVARS_028_05----------------------------#'
|
||
###########################################################################
|
||
# Test if changing global variable effects session and vice versa #
|
||
###########################################################################
|
||
|
||
SET @@global.engine_condition_pushdown = 0;
|
||
SET @@session.engine_condition_pushdown = 1;
|
||
SELECT @@global.engine_condition_pushdown AS res_is_0;
|
||
|
||
SET @@global.engine_condition_pushdown = 0;
|
||
SELECT @@session.engine_condition_pushdown AS res_is_1;
|
||
|
||
--echo '#----------------------FN_DYNVARS_028_06------------------------#'
|
||
#########################################################################
|
||
# Check if the value in GLOBAL Table matches value in variable #
|
||
#########################################################################
|
||
|
||
SELECT IF(@@global.engine_condition_pushdown, "ON", "OFF") = VARIABLE_VALUE
|
||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
||
WHERE VARIABLE_NAME='engine_condition_pushdown';
|
||
SELECT @@global.engine_condition_pushdown;
|
||
SELECT VARIABLE_VALUE
|
||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
||
WHERE VARIABLE_NAME='engine_condition_pushdown';
|
||
|
||
--echo '#----------------------FN_DYNVARS_028_07------------------------#'
|
||
#########################################################################
|
||
# Check if the value in SESSION Table matches value in variable #
|
||
#########################################################################
|
||
|
||
SELECT IF(@@session.engine_condition_pushdown, "ON", "OFF") = VARIABLE_VALUE
|
||
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
||
WHERE VARIABLE_NAME='engine_condition_pushdown';
|
||
SELECT @@session.engine_condition_pushdown;
|
||
SELECT VARIABLE_VALUE
|
||
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
||
WHERE VARIABLE_NAME='engine_condition_pushdown';
|
||
|
||
|
||
--echo '#---------------------FN_DYNVARS_028_08-------------------------#'
|
||
###################################################################
|
||
# Check if ON and OFF values can be used on variable #
|
||
###################################################################
|
||
|
||
SET @@session.engine_condition_pushdown = OFF;
|
||
SELECT @@session.engine_condition_pushdown;
|
||
SET @@session.engine_condition_pushdown = ON;
|
||
SELECT @@session.engine_condition_pushdown;
|
||
|
||
SET @@global.engine_condition_pushdown = OFF;
|
||
SELECT @@global.engine_condition_pushdown;
|
||
SET @@global.engine_condition_pushdown = ON;
|
||
SELECT @@global.engine_condition_pushdown;
|
||
|
||
--echo '#---------------------FN_DYNVARS_028_09----------------------#'
|
||
###################################################################
|
||
# Check if TRUE and FALSE values can be used on variable #
|
||
###################################################################
|
||
|
||
SET @@session.engine_condition_pushdown = TRUE;
|
||
SELECT @@session.engine_condition_pushdown;
|
||
SET @@session.engine_condition_pushdown = FALSE;
|
||
SELECT @@session.engine_condition_pushdown;
|
||
|
||
SET @@global.engine_condition_pushdown = TRUE;
|
||
SELECT @@global.engine_condition_pushdown;
|
||
SET @@global.engine_condition_pushdown = FALSE;
|
||
SELECT @@global.engine_condition_pushdown;
|
||
|
||
--echo Check that @@engine_condition_pushdown influences
|
||
--echo @@optimizer_switch and vice-versa
|
||
select @@session.engine_condition_pushdown,
|
||
@@global.engine_condition_pushdown,
|
||
@@session.optimizer_switch, @@global.optimizer_switch;
|
||
set @@session.engine_condition_pushdown = TRUE;
|
||
select @@session.engine_condition_pushdown,
|
||
@@global.engine_condition_pushdown,
|
||
@@session.optimizer_switch, @@global.optimizer_switch;
|
||
set @@session.engine_condition_pushdown = FALSE;
|
||
select @@session.engine_condition_pushdown,
|
||
@@global.engine_condition_pushdown,
|
||
@@session.optimizer_switch, @@global.optimizer_switch;
|
||
set @@global.engine_condition_pushdown = TRUE;
|
||
select @@session.engine_condition_pushdown,
|
||
@@global.engine_condition_pushdown,
|
||
@@session.optimizer_switch, @@global.optimizer_switch;
|
||
set @@global.engine_condition_pushdown = FALSE;
|
||
select @@session.engine_condition_pushdown,
|
||
@@global.engine_condition_pushdown,
|
||
@@session.optimizer_switch, @@global.optimizer_switch;
|
||
set @@session.optimizer_switch = "engine_condition_pushdown=on";
|
||
select @@session.engine_condition_pushdown,
|
||
@@global.engine_condition_pushdown,
|
||
@@session.optimizer_switch, @@global.optimizer_switch;
|
||
set @@session.optimizer_switch = "engine_condition_pushdown=off";
|
||
select @@session.engine_condition_pushdown,
|
||
@@global.engine_condition_pushdown,
|
||
@@session.optimizer_switch, @@global.optimizer_switch;
|
||
set @@global.optimizer_switch = "engine_condition_pushdown=on";
|
||
select @@session.engine_condition_pushdown,
|
||
@@global.engine_condition_pushdown,
|
||
@@session.optimizer_switch, @@global.optimizer_switch;
|
||
set @@global.optimizer_switch = "engine_condition_pushdown=off";
|
||
select @@session.engine_condition_pushdown,
|
||
@@global.engine_condition_pushdown,
|
||
@@session.optimizer_switch, @@global.optimizer_switch;
|
||
|
||
##############################
|
||
# Restore initial value #
|
||
##############################
|
||
|
||
SET @@session.engine_condition_pushdown = @session_start_value;
|
||
SELECT @@session.engine_condition_pushdown;
|
||
|
||
SET @@global.engine_condition_pushdown = @global_start_value;
|
||
SELECT @@global.engine_condition_pushdown;
|
||
|
||
set @session.optimizer_switch=@old_session_opt_switch,
|
||
@@global.optimizer_switch=@old_global_opt_switch;
|
||
select @@session.engine_condition_pushdown,
|
||
@@global.engine_condition_pushdown,
|
||
@@session.optimizer_switch, @@global.optimizer_switch;
|
||
|
||
###############################################################
|
||
# END OF engine_condition_pushdown TESTS #
|
||
###############################################################
|