1SET GLOBAL binlog_transaction_dependency_tracking= 'COMMIT_ORDER'; 2SET GLOBAL transaction_write_set_extraction= 'XXHASH64'; 3SELECT COUNT(@@GLOBAL.binlog_transaction_dependency_tracking); 4COUNT(@@GLOBAL.binlog_transaction_dependency_tracking) 51 6SELECT COUNT(@@SESSION.binlog_transaction_dependency_tracking); 7ERROR HY000: Variable 'binlog_transaction_dependency_tracking' is a GLOBAL variable 8SELECT VARIABLE_NAME FROM performance_schema.global_variables WHERE VARIABLE_NAME='binlog_transaction_dependency_tracking'; 9VARIABLE_NAME 10binlog_transaction_dependency_tracking 11SELECT VARIABLE_NAME FROM performance_schema.session_variables WHERE variable_name='binlog_transaction_dependency_tracking'; 12VARIABLE_NAME 13binlog_transaction_dependency_tracking 14SET GLOBAL binlog_transaction_dependency_tracking= 'COMMIT_ORDER'; 15include/assert.inc ['binlog_transaction_dependency_tracking is a dynamic variable'] 16SET GLOBAL binlog_transaction_dependency_tracking= 'COMMIT_ORDER'; 17include/assert.inc ['binlog_transaction_dependency_tracking should be COMMIT_ORDER'] 18SET GLOBAL binlog_transaction_dependency_tracking= 0; 19include/assert.inc ['binlog_transaction_dependency_tracking should be COMMIT_ORDER'] 20SET GLOBAL binlog_transaction_dependency_tracking= 'WRITESET'; 21include/assert.inc ['binlog_transaction_dependency_tracking should be WRITESET'] 22SET GLOBAL binlog_transaction_dependency_tracking= 1; 23include/assert.inc ['binlog_transaction_dependency_tracking should be WRITESET'] 24SET GLOBAL binlog_transaction_dependency_tracking= 'WRITESET_SESSION'; 25include/assert.inc ['binlog_transaction_dependency_tracking should be WRITESET_SESSION'] 26SET GLOBAL binlog_transaction_dependency_tracking= 2; 27include/assert.inc ['binlog_transaction_dependency_tracking should be WRITESET_SESSION'] 28SET GLOBAL binlog_transaction_dependency_tracking= DEFAULT; 29include/assert.inc ['binlog_transaction_dependency_tracking should be COMMIT_ORDER'] 30SET GLOBAL binlog_transaction_dependency_tracking= NULL; 31ERROR 42000: Variable 'binlog_transaction_dependency_tracking' can't be set to the value of 'NULL' 32SET GLOBAL binlog_transaction_dependency_tracking= ''; 33ERROR 42000: Variable 'binlog_transaction_dependency_tracking' can't be set to the value of '' 34SET GLOBAL binlog_transaction_dependency_tracking= 1.0; 35ERROR 42000: Incorrect argument type to variable 'binlog_transaction_dependency_tracking' 36SET GLOBAL binlog_transaction_dependency_tracking= 'GARBAGE'; 37ERROR 42000: Variable 'binlog_transaction_dependency_tracking' can't be set to the value of 'GARBAGE' 38SET GLOBAL binlog_transaction_dependency_tracking= ON; 39ERROR 42000: Variable 'binlog_transaction_dependency_tracking' can't be set to the value of 'ON' 40SET GLOBAL binlog_transaction_dependency_tracking= OFF; 41ERROR 42000: Variable 'binlog_transaction_dependency_tracking' can't be set to the value of 'OFF' 42SET GLOBAL binlog_transaction_dependency_tracking= 3; 43ERROR 42000: Variable 'binlog_transaction_dependency_tracking' can't be set to the value of '3' 44Expect value still set to "COMMIT_ORDER" 45SELECT @@global.binlog_transaction_dependency_tracking; 46@@global.binlog_transaction_dependency_tracking 47COMMIT_ORDER 48Case1 a): "When binlog_transaction_dependency_tracking != COMMIT_ORDER, 49transaction_write_set_extraction cannot be changed." 50SET GLOBAL binlog_transaction_dependency_tracking= 'WRITESET'; 51SET GLOBAL transaction_write_set_extraction= OFF; 52ERROR HY000: Incorrect usage of transaction_write_set_extraction (changed) and binlog_transaction_dependency_tracking (!= COMMIT_ORDER) 53SET GLOBAL transaction_write_set_extraction= MURMUR32; 54ERROR HY000: Incorrect usage of transaction_write_set_extraction (changed) and binlog_transaction_dependency_tracking (!= COMMIT_ORDER) 55Expect value still set to XXHASH64 56SELECT @@global.transaction_write_set_extraction; 57@@global.transaction_write_set_extraction 58XXHASH64 59Case1 b): "When binlog_transaction_dependency_tracking != COMMIT_ORDER, 60transaction_write_set_extraction cannot be changed." 61SET GLOBAL binlog_transaction_dependency_tracking= 'WRITESET_SESSION'; 62SET GLOBAL transaction_write_set_extraction= OFF; 63ERROR HY000: Incorrect usage of transaction_write_set_extraction (changed) and binlog_transaction_dependency_tracking (!= COMMIT_ORDER) 64SET GLOBAL transaction_write_set_extraction= MURMUR32; 65ERROR HY000: Incorrect usage of transaction_write_set_extraction (changed) and binlog_transaction_dependency_tracking (!= COMMIT_ORDER) 66Expect value still set to XXHASH64 67SELECT @@global.transaction_write_set_extraction; 68@@global.transaction_write_set_extraction 69XXHASH64 70Case2: "When transaction_write_set_extraction = OFF, 71binlog_transaction_dependency_tracking cannot be set to WRITESET%" 72SET GLOBAL binlog_transaction_dependency_tracking= 'COMMIT_ORDER'; 73SET GLOBAL transaction_write_set_extraction= OFF; 74SET GLOBAL binlog_transaction_dependency_tracking= 'WRITESET'; 75ERROR HY000: Incorrect usage of binlog_transaction_dependency_tracking (!= COMMIT_ORDER) and transaction_write_set_extraction (= OFF) 76SET GLOBAL binlog_transaction_dependency_tracking= 'WRITESET_SESSION'; 77ERROR HY000: Incorrect usage of binlog_transaction_dependency_tracking (!= COMMIT_ORDER) and transaction_write_set_extraction (= OFF) 78Expect value still set to COMMIT_ORDER 79SELECT @@global.binlog_transaction_dependency_tracking; 80@@global.binlog_transaction_dependency_tracking 81COMMIT_ORDER 82SET GLOBAL transaction_write_set_extraction= XXHASH64; 83