################# mysql-test\t\innodb_flush_log_at_trx_commit_basic.test ###### # # # Variable Name: innodb_flush_log_at_trx_commit # # Scope: GLOBAL # # Access Type: Dynamic # # Data Type: Numeric # # Default Value: 1 # # Range: 0-2 # # # # # # Creation Date: 2008-02-07 # # Author: Rizwan # # # #Description: Test Cases of Dynamic System Variable # # innodb_flush_log_at_trx_commit 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/have_innodb.inc --source include/load_sysvars.inc ######################################################################## # START OF innodb_flush_log_at_trx_commit TESTS # ######################################################################## ############################################################################# # Saving initial value of innodb_flush_log_at_trx_commit # ############################################################################# SET @global_start_value = @@global.innodb_flush_log_at_trx_commit; SELECT @global_start_value; --echo '#--------------------FN_DYNVARS_046_01------------------------#' ########################################################################## # Display the DEFAULT value of innodb_flush_log_at_trx_commit # ########################################################################## SET @@global.innodb_flush_log_at_trx_commit = 0; SET @@global.innodb_flush_log_at_trx_commit = DEFAULT; SELECT @@global.innodb_flush_log_at_trx_commit; --echo '#---------------------FN_DYNVARS_046_02-------------------------#' ############################################################################### # Check if variable can be accessed with and without @@ sign # ############################################################################### --Error ER_GLOBAL_VARIABLE SET innodb_flush_log_at_trx_commit = 1; SELECT @@innodb_flush_log_at_trx_commit; --Error ER_UNKNOWN_TABLE SELECT local.innodb_flush_log_at_trx_commit; SET global innodb_flush_log_at_trx_commit = 0; SELECT @@global.innodb_flush_log_at_trx_commit; --echo '#--------------------FN_DYNVARS_046_03------------------------#' ############################################################################# # change the value of innodb_flush_log_at_trx_commit to a valid value # ############################################################################# SET @@global.innodb_flush_log_at_trx_commit = 0; SELECT @@global.innodb_flush_log_at_trx_commit; SET @@global.innodb_flush_log_at_trx_commit = 1; SELECT @@global.innodb_flush_log_at_trx_commit; SET @@global.innodb_flush_log_at_trx_commit = 2; SELECT @@global.innodb_flush_log_at_trx_commit; --echo '#--------------------FN_DYNVARS_046_04-------------------------#' ############################################################################### # Change the value of innodb_flush_log_at_trx_commit to invalid value # ############################################################################### SET @@global.innodb_flush_log_at_trx_commit = -1; SELECT @@global.innodb_flush_log_at_trx_commit; --Error ER_WRONG_TYPE_FOR_VAR SET @@global.innodb_flush_log_at_trx_commit = "T"; SELECT @@global.innodb_flush_log_at_trx_commit; --Error ER_WRONG_TYPE_FOR_VAR SET @@global.innodb_flush_log_at_trx_commit = "Y"; SELECT @@global.innodb_flush_log_at_trx_commit; SET @@global.innodb_flush_log_at_trx_commit = 1001; SELECT @@global.innodb_flush_log_at_trx_commit; --echo '#----------------------FN_DYNVARS_046_05------------------------#' ######################################################################### # Check if the value in GLOBAL Table matches value in variable # ######################################################################### SELECT @@global.innodb_flush_log_at_trx_commit = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_flush_log_at_trx_commit'; SELECT @@global.innodb_flush_log_at_trx_commit; SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_flush_log_at_trx_commit'; --echo '#---------------------FN_DYNVARS_046_06-------------------------#' ################################################################### # Check if ON and OFF values can be used on variable # ################################################################### --ERROR ER_WRONG_TYPE_FOR_VAR SET @@global.innodb_flush_log_at_trx_commit = OFF; SELECT @@global.innodb_flush_log_at_trx_commit; --ERROR ER_WRONG_TYPE_FOR_VAR SET @@global.innodb_flush_log_at_trx_commit = ON; SELECT @@global.innodb_flush_log_at_trx_commit; --echo '#---------------------FN_DYNVARS_046_07----------------------#' ################################################################### # Check if TRUE and FALSE values can be used on variable # ################################################################### SET @@global.innodb_flush_log_at_trx_commit = TRUE; SELECT @@global.innodb_flush_log_at_trx_commit; SET @@global.innodb_flush_log_at_trx_commit = FALSE; SELECT @@global.innodb_flush_log_at_trx_commit; ############################## # Restore initial value # ############################## SET @@global.innodb_flush_log_at_trx_commit = @global_start_value; SELECT @@global.innodb_flush_log_at_trx_commit; ############################################################### # END OF innodb_flush_log_at_trx_commit TESTS # ###############################################################