############## mysql-test\t\table_definition_cache_basic.test ################## # # # Variable Name: table_definition_cache # # Scope: GLOBAL # # Access Type: Dynamic # # Data Type: Numeric # # Default Value: 128 # # Range: 1 - 524288 # # # # # # Creation Date: 2008-03-16 # # Author: Salman Rawala # # # # Description: Test Cases of Dynamic System Variable "table_definition_cache" # # 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-system-variables.html#option_mysqld_table_definition_cache # # # ################################################################################ --source include/load_sysvars.inc ############################################################### # START OF table_definition_cache TESTS # ############################################################### ############################################################################## # Saving initial value of table_definition_cache in a temporary variable # ############################################################################## SET @start_value = @@global.table_definition_cache; SELECT @start_value; --echo '#--------------------FN_DYNVARS_019_01------------------------#' ####################################################################### # Display the DEFAULT value of table_definition_cache # ####################################################################### SET @@global.table_definition_cache = 100; SET @@global.table_definition_cache = DEFAULT; SELECT @@global.table_definition_cache; --echo '#---------------------FN_DYNVARS_019_02-------------------------#' ############################################### # Verify default value of variable # ############################################### SET @@global.table_definition_cache = DEFAULT; SELECT @@global.table_definition_cache = 128; --echo '#--------------------FN_DYNVARS_019_03------------------------#' ############################################################################## # Change the value of table_definition_cache to a valid value # ############################################################################## SET @@global.table_definition_cache = 1; SELECT @@global.table_definition_cache; SET @@global.table_definition_cache = 2; SELECT @@global.table_definition_cache; SET @@global.table_definition_cache = 524287; SELECT @@global.table_definition_cache; SET @@global.table_definition_cache = 524288; SELECT @@global.table_definition_cache; --echo '#--------------------FN_DYNVARS_019_04-------------------------#' ################################################################################# # Change the value of table_definition_cache to invalid value # ################################################################################# SET @@global.table_definition_cache = 0; SELECT @@global.table_definition_cache; SET @@global.table_definition_cache = -1024; SELECT @@global.table_definition_cache; SET @@global.table_definition_cache = 524289; SELECT @@global.table_definition_cache; SET @@global.table_definition_cache = 42949672950; SELECT @@global.table_definition_cache; --echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable'; --Error ER_WRONG_TYPE_FOR_VAR SET @@global.table_definition_cache = 21221204.10; --Error ER_WRONG_TYPE_FOR_VAR SET @@global.table_definition_cache = ON; --echo '#-------------------FN_DYNVARS_019_05----------------------------#' ################################################################################# # Test if accessing session table_definition_cache gives error # ################################################################################# --Error ER_GLOBAL_VARIABLE SET @@session.table_definition_cache = 0; --Error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT @@session.table_definition_cache; --echo '#----------------------FN_DYNVARS_019_06------------------------#' #################################################################### # Check if the value in GLOBAL Tables matches values in variable # #################################################################### SELECT @@global.table_definition_cache = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='table_definition_cache'; --echo '#---------------------FN_DYNVARS_019_07----------------------#' ################################################################### # Check if TRUE and FALSE values can be used on variable # ################################################################### SET @@global.table_definition_cache = TRUE; SELECT @@global.table_definition_cache; SET @@global.table_definition_cache = FALSE; SELECT @@global.table_definition_cache; --echo '#---------------------FN_DYNVARS_019_08----------------------#' ############################################################################### # Check if accessing variable without SCOPE points to same global variable # ############################################################################### SET @@global.table_definition_cache = 5; SELECT @@table_definition_cache = @@global.table_definition_cache; --echo '#---------------------FN_DYNVARS_019_09----------------------#' ################################################################################ # Check if table_definition_cache can be accessed with and without @@ sign # ################################################################################ --Error ER_GLOBAL_VARIABLE SET table_definition_cache = 1; --Error ER_PARSE_ERROR SET global.table_definition_cache = 1; --Error ER_UNKNOWN_TABLE SELECT global.table_definition_cache; --Error ER_BAD_FIELD_ERROR SELECT table_definition_cache = @@session.table_definition_cache; ############################## # Restore initial value # ############################## SET @@global.table_definition_cache = @start_value; SELECT @@global.table_definition_cache; ################################################################ # END OF table_definition_cache TESTS # ################################################################