mirror of
https://github.com/MariaDB/server.git
synced 2025-07-02 14:22:51 +03:00
"set engine_condition_pushdown" is deprecated, engine condition pushdown is controlled by a new "set optimizer_switch=engine_condition_pushdown=on|off".
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 #
|
||
###############################################################
|