1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-08 15:01:49 +03:00
mariadb/mysql-test/suite/sys_vars/t/engine_condition_pushdown_basic.test
Guilhem Bichot 125cf0d4e8 WL#5197 "Move @@engine_condition_pushdown to @@optimizer_switch"
"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.
2010-01-06 11:54:45 +01:00

268 lines
12 KiB
Plaintext
Raw Blame History

############## 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 #
###############################################################