############## mysql-test\t\sync_frm_basic.test ############################### # # # Variable Name: sync_frm # # 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 sync_frm # # 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 sync_frm TESTS # ############################################################## ################################################################ # Saving initial value of sync_frm in a temporary variable # ################################################################ SET @start_value = @@global.sync_frm; SELECT @start_value; --echo '#--------------------FN_DYNVARS_169_01------------------------#' ###################################################### # Display the DEFAULT value of sync_frm # ###################################################### SET @@global.sync_frm = FALSE; SET @@global.sync_frm = DEFAULT; SELECT @@global.sync_frm; --echo '#---------------------FN_DYNVARS_169_02-------------------------#' ############################################### # Verify default value of variable # ############################################### SET @@global.sync_frm = DEFAULT; SELECT @@global.sync_frm = TRUE; --echo '#--------------------FN_DYNVARS_169_03------------------------#' ###################################################### # Change the value of sync_frm to a valid value # ###################################################### SET @@global.sync_frm = ON; SELECT @@global.sync_frm; SET @@global.sync_frm = OFF; SELECT @@global.sync_frm; SET @@global.sync_frm = 0; SELECT @@global.sync_frm; SET @@global.sync_frm = 1; SELECT @@global.sync_frm; SET @@global.sync_frm = TRUE; SELECT @@global.sync_frm; SET @@global.sync_frm = FALSE; SELECT @@global.sync_frm; --echo '#--------------------FN_DYNVARS_169_04-------------------------#' #################################################################### # Change the value of sync_frm to invalid value # #################################################################### --Error ER_WRONG_VALUE_FOR_VAR SET @@global.sync_frm = 2; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.sync_frm = -1; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.sync_frm = TRUEF; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.sync_frm = TRUE_F; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.sync_frm = FALSE0; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.sync_frm = OON; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.sync_frm = ONN; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.sync_frm = OOFF; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.sync_frm = 0FF; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.sync_frm = ' '; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.sync_frm = " "; --Error ER_WRONG_VALUE_FOR_VAR SET @@global.sync_frm = ''; --echo '#-------------------FN_DYNVARS_169_05----------------------------#' #################################################################### # Test if accessing session sync_frm gives error # #################################################################### --Error ER_GLOBAL_VARIABLE SET @@session.sync_frm = 1; --Error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT @@session.sync_frm; --echo '#----------------------FN_DYNVARS_169_06------------------------#' #################################################################### # Check if the value in GLOBAL Tables matches values in variable # #################################################################### SELECT IF(@@global.sync_frm, "ON", "OFF") = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sync_frm'; --echo '#---------------------FN_DYNVARS_169_07----------------------#' ############################################################################### # Check if accessing variable without SCOPE points to same session variable # ############################################################################### SET @@global.sync_frm = 1; SELECT @@sync_frm = @@global.sync_frm; --echo '#---------------------FN_DYNVARS_169_08----------------------#' ################################################################### # Check if sync_frm can be accessed with and without @@ sign # ################################################################### --Error ER_GLOBAL_VARIABLE SET sync_frm = 1; SELECT @@sync_frm; --Error ER_PARSE_ERROR SET global.sync_frm = 1; --Error ER_UNKNOWN_TABLE SELECT global.sync_frm; --Error ER_BAD_FIELD_ERROR SELECT sync_frm = @@session.sync_frm; ############################## # Restore initial value # ############################## SET @@global.sync_frm = @start_value; SELECT @@global.sync_frm; ###################################################### # END OF sync_frm TESTS # ######################################################