################## mysql-test\t\innodb_file_per_table_basic.test ############## # # # Variable Name: innodb_file_per_table # # Scope: Global # # Access Type: Dynamic # # Data Type: boolean # # # # # # Creation Date: 2008-02-07 # # Author : Sharique Abdullah # # # # # # Description:Test Cases of Dynamic System Variable innodb_file_per_table # # that checks the behavior of this variable in the following ways # # * Value Check # # * Scope Check # # # # Reference: http://dev.mysql.com/doc/refman/5.1/en/ # # server-system-variables.html # # # ############################################################################### --source include/have_innodb.inc SET @start_global_value = @@global.innodb_file_per_table; SELECT @start_global_value; --echo '#---------------------BS_STVARS_028_01----------------------#' #################################################################### # Displaying default value # #################################################################### SELECT COUNT(@@GLOBAL.innodb_file_per_table); --echo 1 Expected --echo '#---------------------BS_STVARS_028_02----------------------#' #################################################################### # Check if Value can set # #################################################################### SET @@global.innodb_file_per_table = 0; SELECT @@global.innodb_file_per_table; SET @@global.innodb_file_per_table ='On' ; SELECT @@global.innodb_file_per_table; SET @@global.innodb_file_per_table ='Off' ; SELECT @@global.innodb_file_per_table; SET @@global.innodb_file_per_table = 1; SELECT @@global.innodb_file_per_table; --echo '#---------------------BS_STVARS_028_03----------------------#' ################################################################# # Check if the value in GLOBAL Table matches value in variable # ################################################################# --disable_warnings SELECT IF(@@GLOBAL.innodb_file_per_table,'ON','OFF') = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_file_per_table'; --enable_warnings --echo 1 Expected SELECT COUNT(@@GLOBAL.innodb_file_per_table); --echo 1 Expected --disable_warnings SELECT COUNT(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_file_per_table'; --enable_warnings --echo 1 Expected --echo '#---------------------BS_STVARS_028_04----------------------#' ################################################################################ # Check if accessing variable with and without GLOBAL point to same variable # ################################################################################ SELECT @@innodb_file_per_table = @@GLOBAL.innodb_file_per_table; --echo 1 Expected --echo '#---------------------BS_STVARS_028_05----------------------#' ################################################################################ # Check if innodb_file_per_table can be accessed with and without @@ sign # ################################################################################ SELECT COUNT(@@innodb_file_per_table); --echo 1 Expected --Error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT COUNT(@@local.innodb_file_per_table); --echo Expected error 'Variable is a GLOBAL variable' --Error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT COUNT(@@SESSION.innodb_file_per_table); --echo Expected error 'Variable is a GLOBAL variable' SELECT COUNT(@@GLOBAL.innodb_file_per_table); --echo 1 Expected --Error ER_BAD_FIELD_ERROR SELECT innodb_file_per_table = @@SESSION.innodb_file_per_table; # # Cleanup # SET @@global.innodb_file_per_table = @start_global_value; SELECT @@global.innodb_file_per_table;