From cfa9050cbdeff449a64a4b2844d43d0c7079f3c9 Mon Sep 17 00:00:00 2001 From: BohuTANG Date: Thu, 22 Aug 2013 16:57:55 +0800 Subject: [PATCH 1/2] add support_xa test suite --- .../sys_vars/r/tokudb_support_xa_basic.result | 174 +++++++++++++ .../sys_vars/t/tokudb_support_xa_basic.test | 229 ++++++++++++++++++ 2 files changed, 403 insertions(+) create mode 100644 mysql-test/suite/sys_vars/r/tokudb_support_xa_basic.result create mode 100644 mysql-test/suite/sys_vars/t/tokudb_support_xa_basic.test diff --git a/mysql-test/suite/sys_vars/r/tokudb_support_xa_basic.result b/mysql-test/suite/sys_vars/r/tokudb_support_xa_basic.result new file mode 100644 index 00000000..03cd9336 --- /dev/null +++ b/mysql-test/suite/sys_vars/r/tokudb_support_xa_basic.result @@ -0,0 +1,174 @@ +SET @session_start_value = @@session.tokudb_support_xa; +SELECT @session_start_value; +@session_start_value +1 +SET @global_start_value = @@global.tokudb_support_xa; +SELECT @global_start_value; +@global_start_value +1 +'#--------------------FN_DYNVARS_046_01------------------------#' +SET @@session.tokudb_support_xa = 0; +SET @@session.tokudb_support_xa = DEFAULT; +SELECT @@session.tokudb_support_xa; +@@session.tokudb_support_xa +1 +SET @@global.tokudb_support_xa = 0; +SET @@global.tokudb_support_xa = DEFAULT; +SELECT @@global.tokudb_support_xa; +@@global.tokudb_support_xa +1 +'#---------------------FN_DYNVARS_046_02-------------------------#' +SET tokudb_support_xa = 1; +SELECT @@tokudb_support_xa; +@@tokudb_support_xa +1 +SELECT session.tokudb_support_xa; +ERROR 42S02: Unknown table 'session' in field list +SELECT local.tokudb_support_xa; +ERROR 42S02: Unknown table 'local' in field list +SELECT global.tokudb_support_xa; +ERROR 42S02: Unknown table 'global' in field list +SET session tokudb_support_xa = 0; +SELECT @@session.tokudb_support_xa; +@@session.tokudb_support_xa +0 +SET global tokudb_support_xa = 0; +SELECT @@global.tokudb_support_xa; +@@global.tokudb_support_xa +0 +'#--------------------FN_DYNVARS_046_03------------------------#' +SET @@session.tokudb_support_xa = 0; +SELECT @@session.tokudb_support_xa; +@@session.tokudb_support_xa +0 +SET @@session.tokudb_support_xa = 1; +SELECT @@session.tokudb_support_xa; +@@session.tokudb_support_xa +1 +SET @@global.tokudb_support_xa = 0; +SELECT @@global.tokudb_support_xa; +@@global.tokudb_support_xa +0 +SET @@global.tokudb_support_xa = 1; +SELECT @@global.tokudb_support_xa; +@@global.tokudb_support_xa +1 +'#--------------------FN_DYNVARS_046_04-------------------------#' +SET @@session.tokudb_support_xa = -0.6; +ERROR 42000: Incorrect argument type to variable 'tokudb_support_xa' +SET @@session.tokudb_support_xa = 1.6; +ERROR 42000: Incorrect argument type to variable 'tokudb_support_xa' +SET @@session.tokudb_support_xa = "T"; +ERROR 42000: Variable 'tokudb_support_xa' can't be set to the value of 'T' +SET @@session.tokudb_support_xa = "Y"; +ERROR 42000: Variable 'tokudb_support_xa' can't be set to the value of 'Y' +SET @@session.tokudb_support_xa = TRÜE; +ERROR 42000: Variable 'tokudb_support_xa' can't be set to the value of 'TRÜE' +SET @@session.tokudb_support_xa = ÕN; +ERROR 42000: Variable 'tokudb_support_xa' can't be set to the value of 'ÕN' +SET @@session.tokudb_support_xa = OF; +SELECT @@session.tokudb_support_xa; +@@session.tokudb_support_xa +0 +SET @@session.tokudb_support_xa = ÓFF; +ERROR 42000: Variable 'tokudb_support_xa' can't be set to the value of 'ÓFF' +SET @@global.tokudb_support_xa = -1; +SELECT @@global.tokudb_support_xa; +@@global.tokudb_support_xa +1 +SET @@global.tokudb_support_xa = 2; +ERROR 42000: Variable 'tokudb_support_xa' can't be set to the value of '2' +SET @@global.tokudb_support_xa = "T"; +ERROR 42000: Variable 'tokudb_support_xa' can't be set to the value of 'T' +SET @@global.tokudb_support_xa = "Y"; +ERROR 42000: Variable 'tokudb_support_xa' can't be set to the value of 'Y' +SET @@global.tokudb_support_xa = TRÜE; +ERROR 42000: Variable 'tokudb_support_xa' can't be set to the value of 'TRÜE' +SET @@global.tokudb_support_xa = ÕN; +ERROR 42000: Variable 'tokudb_support_xa' can't be set to the value of 'ÕN' +SET @@global.tokudb_support_xa = OF; +SELECT @@global.tokudb_support_xa; +@@global.tokudb_support_xa +0 +SET @@global.tokudb_support_xa = ÓFF; +ERROR 42000: Variable 'tokudb_support_xa' can't be set to the value of 'ÓFF' +'#-------------------FN_DYNVARS_046_05----------------------------#' +SET @@global.tokudb_support_xa = 0; +SET @@session.tokudb_support_xa = 1; +SELECT @@global.tokudb_support_xa AS res_is_0; +res_is_0 +0 +SET @@global.tokudb_support_xa = 0; +SELECT @@session.tokudb_support_xa AS res_is_1; +res_is_1 +1 +'#----------------------FN_DYNVARS_046_06------------------------#' +SELECT IF(@@global.tokudb_support_xa, "ON", "OFF") = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='tokudb_support_xa'; +IF(@@global.tokudb_support_xa, "ON", "OFF") = +VARIABLE_VALUE +1 +SELECT @@global.tokudb_support_xa; +@@global.tokudb_support_xa +0 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES +WHERE VARIABLE_NAME='tokudb_support_xa'; +VARIABLE_VALUE +OFF +'#----------------------FN_DYNVARS_046_07------------------------#' +SELECT IF(@@session.tokudb_support_xa, "ON", "OFF") = +VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='tokudb_support_xa'; +IF(@@session.tokudb_support_xa, "ON", "OFF") = +VARIABLE_VALUE +1 +SELECT @@session.tokudb_support_xa; +@@session.tokudb_support_xa +1 +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='tokudb_support_xa'; +VARIABLE_VALUE +ON +'#---------------------FN_DYNVARS_046_08-------------------------#' +SET @@session.tokudb_support_xa = OFF; +SELECT @@session.tokudb_support_xa; +@@session.tokudb_support_xa +0 +SET @@session.tokudb_support_xa = ON; +SELECT @@session.tokudb_support_xa; +@@session.tokudb_support_xa +1 +SET @@global.tokudb_support_xa = OFF; +SELECT @@global.tokudb_support_xa; +@@global.tokudb_support_xa +0 +SET @@global.tokudb_support_xa = ON; +SELECT @@global.tokudb_support_xa; +@@global.tokudb_support_xa +1 +'#---------------------FN_DYNVARS_046_09----------------------#' +SET @@session.tokudb_support_xa = TRUE; +SELECT @@session.tokudb_support_xa; +@@session.tokudb_support_xa +1 +SET @@session.tokudb_support_xa = FALSE; +SELECT @@session.tokudb_support_xa; +@@session.tokudb_support_xa +0 +SET @@global.tokudb_support_xa = TRUE; +SELECT @@global.tokudb_support_xa; +@@global.tokudb_support_xa +1 +SET @@global.tokudb_support_xa = FALSE; +SELECT @@global.tokudb_support_xa; +@@global.tokudb_support_xa +0 +SET @@session.tokudb_support_xa = @session_start_value; +SELECT @@session.tokudb_support_xa; +@@session.tokudb_support_xa +1 +SET @@global.tokudb_support_xa = @global_start_value; +SELECT @@global.tokudb_support_xa; +@@global.tokudb_support_xa +1 diff --git a/mysql-test/suite/sys_vars/t/tokudb_support_xa_basic.test b/mysql-test/suite/sys_vars/t/tokudb_support_xa_basic.test new file mode 100644 index 00000000..29f12790 --- /dev/null +++ b/mysql-test/suite/sys_vars/t/tokudb_support_xa_basic.test @@ -0,0 +1,229 @@ +################# mysql-test\t\tokudb_support_xa_basic.test ################### +# # +# Variable Name: tokudb_support_xa # +# Scope: GLOBAL | SESSION # +# Access Type: Dynamic # +# Data Type: boolean # +# Default Value: 1 # +# Range: 0,1 # +# # +# # +# Creation Date: 2013-08-22 # +# Author: BohuTANG # +# # +# Description: Test Cases of Dynamic System Variable tokudb_support_xa # +# that checks the behavior of this variable in the following ways# +# * Default Value # +# * Valid & Invalid values # +# * Scope & Access method # +# * Data Integrity # +# # +# # +############################################################################### + +--source include/have_tokudb.inc +--source include/load_sysvars.inc + +######################################################################## +# START OF tokudb_support_xa TESTS # +######################################################################## + + +################################################################################ +# Saving initial value of tokudb_support_xa in a temporary variable # +################################################################################ + + +SET @session_start_value = @@session.tokudb_support_xa; +SELECT @session_start_value; + + +SET @global_start_value = @@global.tokudb_support_xa; +SELECT @global_start_value; + + + +--echo '#--------------------FN_DYNVARS_046_01------------------------#' +######################################################################## +# Display the DEFAULT value of tokudb_support_xa # +######################################################################## + +SET @@session.tokudb_support_xa = 0; +SET @@session.tokudb_support_xa = DEFAULT; +SELECT @@session.tokudb_support_xa; + +SET @@global.tokudb_support_xa = 0; +SET @@global.tokudb_support_xa = DEFAULT; +SELECT @@global.tokudb_support_xa; + +--echo '#---------------------FN_DYNVARS_046_02-------------------------#' +########################################################################## +# Check if tokudb_support_xa can be accessed with and without @@ sign # +########################################################################## + +SET tokudb_support_xa = 1; +SELECT @@tokudb_support_xa; + +--Error ER_UNKNOWN_TABLE +SELECT session.tokudb_support_xa; + +--Error ER_UNKNOWN_TABLE +SELECT local.tokudb_support_xa; + +--Error ER_UNKNOWN_TABLE +SELECT global.tokudb_support_xa; +#using another syntax for accessing system variables +SET session tokudb_support_xa = 0; +SELECT @@session.tokudb_support_xa; + +SET global tokudb_support_xa = 0; +SELECT @@global.tokudb_support_xa; + + +--echo '#--------------------FN_DYNVARS_046_03------------------------#' +########################################################################## +# change the value of tokudb_support_xa to a valid value # +########################################################################## +# for session +SET @@session.tokudb_support_xa = 0; +SELECT @@session.tokudb_support_xa; +SET @@session.tokudb_support_xa = 1; +SELECT @@session.tokudb_support_xa; + +# for global +SET @@global.tokudb_support_xa = 0; +SELECT @@global.tokudb_support_xa; +SET @@global.tokudb_support_xa = 1; +SELECT @@global.tokudb_support_xa; + + +--echo '#--------------------FN_DYNVARS_046_04-------------------------#' +########################################################################### +# Change the value of tokudb_support_xa to invalid value # +########################################################################### + +# for session +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.tokudb_support_xa = -0.6; +--Error ER_WRONG_TYPE_FOR_VAR +SET @@session.tokudb_support_xa = 1.6; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.tokudb_support_xa = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.tokudb_support_xa = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.tokudb_support_xa = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.tokudb_support_xa = ÕN; + +SET @@session.tokudb_support_xa = OF; +SELECT @@session.tokudb_support_xa; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@session.tokudb_support_xa = ÓFF; + +# for global + + +SET @@global.tokudb_support_xa = -1; +SELECT @@global.tokudb_support_xa; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tokudb_support_xa = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tokudb_support_xa = "T"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tokudb_support_xa = "Y"; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tokudb_support_xa = TRÜE; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tokudb_support_xa = ÕN; + +SET @@global.tokudb_support_xa = OF; +SELECT @@global.tokudb_support_xa; + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@global.tokudb_support_xa = ÓFF; + + +--echo '#-------------------FN_DYNVARS_046_05----------------------------#' +########################################################################### +# Test if changing global variable effects session and vice versa # +########################################################################### + +SET @@global.tokudb_support_xa = 0; +SET @@session.tokudb_support_xa = 1; +SELECT @@global.tokudb_support_xa AS res_is_0; + +SET @@global.tokudb_support_xa = 0; +SELECT @@session.tokudb_support_xa AS res_is_1; + +--echo '#----------------------FN_DYNVARS_046_06------------------------#' +######################################################################### +# Check if the value in GLOBAL Table matches value in variable # +######################################################################### + +SELECT IF(@@global.tokudb_support_xa, "ON", "OFF") = + VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES + WHERE VARIABLE_NAME='tokudb_support_xa'; +SELECT @@global.tokudb_support_xa; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES + WHERE VARIABLE_NAME='tokudb_support_xa'; + + +--echo '#----------------------FN_DYNVARS_046_07------------------------#' +######################################################################### +# Check if the value in SESSION Table matches value in variable # +######################################################################### + +SELECT IF(@@session.tokudb_support_xa, "ON", "OFF") = + VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES + WHERE VARIABLE_NAME='tokudb_support_xa'; +SELECT @@session.tokudb_support_xa; +SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES + WHERE VARIABLE_NAME='tokudb_support_xa'; + + +--echo '#---------------------FN_DYNVARS_046_08-------------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@session.tokudb_support_xa = OFF; +SELECT @@session.tokudb_support_xa; +SET @@session.tokudb_support_xa = ON; +SELECT @@session.tokudb_support_xa; + +SET @@global.tokudb_support_xa = OFF; +SELECT @@global.tokudb_support_xa; +SET @@global.tokudb_support_xa = ON; +SELECT @@global.tokudb_support_xa; + +--echo '#---------------------FN_DYNVARS_046_09----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@session.tokudb_support_xa = TRUE; +SELECT @@session.tokudb_support_xa; +SET @@session.tokudb_support_xa = FALSE; +SELECT @@session.tokudb_support_xa; + +SET @@global.tokudb_support_xa = TRUE; +SELECT @@global.tokudb_support_xa; +SET @@global.tokudb_support_xa = FALSE; +SELECT @@global.tokudb_support_xa; + +############################## +# Restore initial value # +############################## + +SET @@session.tokudb_support_xa = @session_start_value; +SELECT @@session.tokudb_support_xa; + +SET @@global.tokudb_support_xa = @global_start_value; +SELECT @@global.tokudb_support_xa; + +############################################################### +# END OF tokudb_support_xa TESTS # +############################################################### From 00f18db5b1f0bc278f46fa55b0fcf891a081b6cf Mon Sep 17 00:00:00 2001 From: BohuTANG Date: Thu, 22 Aug 2013 17:24:56 +0800 Subject: [PATCH 2/2] remove SEESION scope --- mysql-test/suite/sys_vars/t/tokudb_support_xa_basic.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mysql-test/suite/sys_vars/t/tokudb_support_xa_basic.test b/mysql-test/suite/sys_vars/t/tokudb_support_xa_basic.test index 29f12790..cdc2d555 100644 --- a/mysql-test/suite/sys_vars/t/tokudb_support_xa_basic.test +++ b/mysql-test/suite/sys_vars/t/tokudb_support_xa_basic.test @@ -1,7 +1,7 @@ ################# mysql-test\t\tokudb_support_xa_basic.test ################### # # # Variable Name: tokudb_support_xa # -# Scope: GLOBAL | SESSION # +# Scope: GLOBAL # # Access Type: Dynamic # # Data Type: boolean # # Default Value: 1 #