# # 2011-08-02 - Added # --source include/not_embedded.inc --source include/have_innodb.inc SET @start_global_value = @@global.innodb_file_format_check; SELECT @start_global_value; # # exists as global only # --echo Valid values are 'ON' and 'OFF' SELECT @@global.innodb_file_format_check in (0, 1); SELECT @@global.innodb_file_format_check; --error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT @@session.innodb_file_format_check; SHOW global variables LIKE 'innodb_file_format_check'; SHOW session variables LIKE 'innodb_file_format_check'; SELECT * FROM information_schema.global_variables WHERE variable_name='innodb_file_format_check'; SELECT * FROM information_schema.session_variables WHERE variable_name='innodb_file_format_check'; # # show that it's read only # --error ER_INCORRECT_GLOBAL_LOCAL_VAR SET @@global.innodb_file_format_check='Off'; --echo Expected error 'Read only variable' --error ER_INCORRECT_GLOBAL_LOCAL_VAR SET @@global.innodb_file_format_check=1; --echo Expected error 'Read only variable' --error ER_INCORRECT_GLOBAL_LOCAL_VAR SET @@global.innodb_file_format_check=0; --echo Expected error 'Read only variable' --error ER_INCORRECT_GLOBAL_LOCAL_VAR SET @@global.innodb_file_format_check='On'; --echo Expected error 'Read only variable' --error ER_GLOBAL_VARIABLE SET session innodb_large_prefix='OFF'; --error ER_GLOBAL_VARIABLE SET @@session.innodb_stats_on_metadata='ON'; # # Check if the value in GLOBAL Table matches value in variable # SELECT IF(@@GLOBAL.innodb_file_format_check, "ON", "OFF") = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_file_format_check'; --echo 1 Expected SELECT COUNT(@@GLOBAL.innodb_file_format_check); --echo 1 Expected SELECT COUNT(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_file_format_check'; --echo 1 Expected # # Check if accessing variable with and without GLOBAL point to same variable # SELECT @@innodb_file_format_check = @@GLOBAL.innodb_file_format_check; --echo 1 Expected # # Check if innodb_doublewrite can be accessed with and without @@ sign # SELECT COUNT(@@innodb_file_format_check); --echo 1 Expected --Error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT COUNT(@@local.innodb_file_format_check); --echo Expected error 'Variable is a GLOBAL variable' --Error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT COUNT(@@SESSION.innodb_file_format_check); --echo Expected error 'Variable is a GLOBAL variable' SELECT COUNT(@@GLOBAL.innodb_file_format_check); --echo 1 Expected --Error ER_BAD_FIELD_ERROR SELECT innodb_file_format_check = @@SESSION.innodb_file_format_check; --echo Expected error 'Readonly variable'