############## mysql-test\t\relay_log_purge_basic.test ######################## # # # Variable Name: relay_log_purge # # Scope: GLOBAL # # Access Type: Dynamic # # Data Type: boolean # # Default Value: TRUE # # Range: # # # # # # Creation Date: 2008-02-14 # # Author: Salman # # # # Description: Test Cases of Dynamic System Variable relay_log_purge # # 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#option_mysqld_relay_log_purge # # # ############################################################################### --source include/not_embedded.inc --source include/load_sysvars.inc ##################################################################### # START OF relay_log_purge TESTS # ##################################################################### ####################################################################### # Saving initial value of relay_log_purge in a temporary variable # ####################################################################### SET @start_value = @@global.relay_log_purge; SELECT @start_value; --echo '#--------------------FN_DYNVARS_141_01------------------------#' ############################################################# # Display the DEFAULT value of relay_log_purge # ############################################################# SET @@global.relay_log_purge = FALSE; SET @@global.relay_log_purge = DEFAULT; SELECT @@global.relay_log_purge; --echo '#---------------------FN_DYNVARS_141_02-------------------------#' ############################################### # Verify default value of variable # ############################################### SET @@global.relay_log_purge = @start_value; SELECT @@global.relay_log_purge = TRUE; --echo '#--------------------FN_DYNVARS_141_03------------------------#' ############################################################# # Change the value of relay_log_purge to a valid value # ############################################################# SET @@global.relay_log_purge = ON; SELECT @@global.relay_log_purge; SET @@global.relay_log_purge = OFF; SELECT @@global.relay_log_purge; SET @@global.relay_log_purge = 0; SELECT @@global.relay_log_purge; SET @@global.relay_log_purge = 1; SELECT @@global.relay_log_purge; SET @@global.relay_log_purge = TRUE; SELECT @@global.relay_log_purge; SET @@global.relay_log_purge = FALSE; SELECT @@global.relay_log_purge; --echo '#--------------------FN_DYNVARS_141_04-------------------------#' ########################################################################### # Change the value of relay_log_purge to invalid value # ########################################################################### --Error ER_WRONG_VALUE_FOR_VAR SET @@global.relay_log_purge = 2; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.relay_log_purge = -1; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.relay_log_purge = TRUEF; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.relay_log_purge = TRUE_F; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.relay_log_purge = FALSE0; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.relay_log_purge = OON; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.relay_log_purge = ONN; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.relay_log_purge = OOFF; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.relay_log_purge = 0FF; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.relay_log_purge = ' '; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.relay_log_purge = " "; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.relay_log_purge = ''; --echo '#-------------------FN_DYNVARS_141_05----------------------------#' ########################################################################### # Test if accessing session relay_log_purge gives error # ########################################################################### --Error ER_GLOBAL_VARIABLE SET @@session.relay_log_purge = 1; --Error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT @@session.relay_log_purge; --echo '#----------------------FN_DYNVARS_141_06------------------------#' ##################################################################### # Check if the value in GLOBAL Tables matches values in variable # ##################################################################### SELECT IF(@@global.relay_log_purge, "ON", "OFF") = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='relay_log_purge'; --echo '#---------------------FN_DYNVARS_141_07----------------------#' ############################################################################### # Check if accessing variable without SCOPE points to same session variable # ############################################################################### SET @@global.relay_log_purge = 1; SELECT @@relay_log_purge = @@global.relay_log_purge; --echo '#---------------------FN_DYNVARS_141_08----------------------#' ########################################################################## # Check if relay_log_purge can be accessed with and without @@ sign # ########################################################################## --Error ER_GLOBAL_VARIABLE SET relay_log_purge = 1; --Error ER_UNKNOWN_TABLE SELECT global.relay_log_purge; --Error ER_BAD_FIELD_ERROR SELECT relay_log_purge = @@session.relay_log_purge; ############################## # Restore initial value # ############################## SET @@global.relay_log_purge = @start_value; SELECT @@global.relay_log_purge; ############################################################# # END OF relay_log_purge TESTS # #############################################################