diff options
Diffstat (limited to 'mysql-test/t/big_tables_basic.test')
-rw-r--r-- | mysql-test/t/big_tables_basic.test | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/mysql-test/t/big_tables_basic.test b/mysql-test/t/big_tables_basic.test new file mode 100644 index 00000000000..8665895bb19 --- /dev/null +++ b/mysql-test/t/big_tables_basic.test @@ -0,0 +1,179 @@ +##################### mysql-test\t\big_tables_basic.test ####################### +# # +# Variable Name: big_tables # +# Scope: SESSION # +# Access Type: Dynamic # +# Data Type: Boolean # +# Default Value: NA # +# Range: NA # +# # +# # +# Creation Date: 2008-02-07 # +# Author: Salman Rawala # +# # +# Description: Test Cases of Dynamic System Variable "big_tables" # +# that checks 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-options.html#option_mysqld_big-tables # +# # +################################################################################ + +--source include/load_sysvars.inc + +########################################################## +# START OF big_tables TESTS # +########################################################## + + +################################################################## +# Saving initial value of big_tables in a temporary variable # +################################################################## + +SET @start_value = @@big_tables; +SELECT @start_value; + +--echo '#--------------------FN_DYNVARS_005_01------------------------#' +############################################################# +# Display the DEFAULT value of big_tables # +############################################################# + +SET @@big_tables = 1; +SET @@big_tables = DEFAULT; +SELECT @@big_tables; +--echo 'Bug# 34829: No default value for variable and setting default does not raise error'; + + +--echo '#--------------------FN_DYNVARS_005_02------------------------#' +############################################################# +# Change the value of big_tables to a valid value # +############################################################# + +SET @@big_tables = 0; +SELECT @@big_tables; +SET @@big_tables = 1; +SELECT @@big_tables; + + +--echo '#--------------------FN_DYNVARS_005_03-------------------------#' +########################################################################### +# Change the value of big_tables to invalid value # +########################################################################### + +--Error ER_WRONG_VALUE_FOR_VAR +SET @@big_tables = 2; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@big_tables = -1; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@big_tables = TRUEF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@big_tables = TRUE_F; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@big_tables = FALSE0; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@big_tables = OON; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@big_tables = ONN; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@big_tables = OOFF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@big_tables = 0FF; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@big_tables = ' '; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@big_tables = " "; +--Error ER_WRONG_VALUE_FOR_VAR +SET @@big_tables = ''; + + + +--echo '#-------------------FN_DYNVARS_005_04----------------------------#' +########################################################################### +# Test if accessing global big_tables gives error # +########################################################################### + +--Error ER_LOCAL_VARIABLE +SET @@global.big_tables = 0; +--Error ER_INCORRECT_GLOBAL_LOCAL_VAR +SELECT @@global.big_tables; + + +--echo '#----------------------FN_DYNVARS_005_05------------------------#' +############################################################################## +# Check if the value in SESSION Tables matches values in variable # +############################################################################## + +SELECT @@big_tables = VARIABLE_VALUE +FROM INFORMATION_SCHEMA.SESSION_VARIABLES +WHERE VARIABLE_NAME='big_tables'; +--echo Bug # 34839: Values in variable and information_schema do not match for autocommit + + +--echo '#---------------------FN_DYNVARS_005_06----------------------#' +################################################################### +# Check if ON and OFF values can be used on variable # +################################################################### + +SET @@big_tables = OFF; +SELECT @@big_tables; +SET @@big_tables = ON; +SELECT @@big_tables; + +--echo '#---------------------FN_DYNVARS_005_07----------------------#' +################################################################### +# Check if TRUE and FALSE values can be used on variable # +################################################################### + +SET @@big_tables = TRUE; +SELECT @@big_tables; +SET @@big_tables = FALSE; +SELECT @@big_tables; + + +--echo '#---------------------FN_DYNVARS_005_08----------------------#' +############################################################################## +# Check if accessing variable with SESSION,LOCAL and without SCOPE points # +# to same session variable # +############################################################################## + +SET @@big_tables = 0; +SELECT @@big_tables = @@session.big_tables; +SET @@big_tables = 1; +SELECT @@big_tables = @@local.big_tables and @@local.big_tables = @@session.big_tables; + +--echo '#---------------------FN_DYNVARS_005_09----------------------#' +########################################################################## +# Check if big_tables can be accessed with and without @@ sign # +########################################################################## + +SET big_tables = 1; +SELECT @@big_tables; +--Error ER_PARSE_ERROR +SET local.big_tables = 1; +--Error ER_UNKNOWN_TABLE +SELECT local.big_tables; +--Error ER_PARSE_ERROR +SET session.big_tables = 1; +--Error ER_UNKNOWN_TABLE +SELECT session.big_tables; +--Error ER_BAD_FIELD_ERROR +select big_tables; + + +############################## +# Restore initial value # +############################## + +SET @@big_tables = @start_value; +SELECT @@big_tables; + + +####################################################### +# END OF big_tables TESTS # +####################################################### + + |