################## mysql-test/t/innodb_undo_logs_basic.test ############ # # # Variable Name: innodb_undo_logs # # Scope: Global # # Access Type: Static # # Data Type: numeric # # # # # # Creation Date: 2011-07-05 # # Author : Sunny Bains # # # # # # Description: Read-only config global variable innodb_undo_logs # # * Value check # # * Scope check # # # ############################################################################### --source include/have_innodb.inc #################################################################### # Display default value # #################################################################### SELECT @@GLOBAL.innodb_undo_logs; --echo 128 Expected #################################################################### # Check if value can be set # #################################################################### SET @@GLOBAL.innodb_undo_logs=128; SELECT COUNT(@@GLOBAL.innodb_undo_logs); --echo 1 Expected ################################################################################ # Check if the value in GLOBAL table matches value in variable # ################################################################################ SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='innodb_undo_logs'; --echo 128 Expected ################################################################################ # Check if accessing variable with and without GLOBAL point to same variable # ################################################################################ SELECT @@innodb_undo_logs = @@GLOBAL.innodb_undo_logs; --echo 1 Expected ################################################################################ # Check if innodb_undo_logs can be accessed with and without @@ sign # ################################################################################ SELECT COUNT(@@innodb_undo_logs); --echo 1 Expected --Error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT COUNT(@@local.innodb_undo_logs); --echo Expected error 'Variable is a GLOBAL variable' --Error ER_INCORRECT_GLOBAL_LOCAL_VAR SELECT COUNT(@@SESSION.innodb_undo_logs); --echo Expected error 'Variable is a GLOBAL variable' --Error ER_BAD_FIELD_ERROR SELECT innodb_undo_logs = @@SESSION.innodb_undo_logs; # Begin Bug 13604034 # SET GLOBAL INNODB_UNDO_LOGS=0 SUCCEEDS BUT LEADS TO AN ASSERT # MAX_UNDO_LOGS > 0 --echo Begin bug 13604034 select @@innodb_undo_logs; --echo 128 Expected set global innodb_undo_logs = 129; select @@innodb_undo_logs; --echo 128 Expected set global innodb_undo_logs = 0; select @@innodb_undo_logs; --echo 1 Expected set global innodb_undo_logs = -1; select @@innodb_undo_logs; --echo 1 Expected set global innodb_undo_logs = 50; select @@innodb_undo_logs; --echo 50 Expected set global innodb_undo_logs = default; select @@innodb_undo_logs; --echo 128 Expected --echo End bug 13604034 # End Bug 13604034