1SET @start_global_value = @@GLOBAL.transaction_write_set_extraction; 2SELECT @start_global_value; 3@start_global_value 4OFF 5SET @start_session_value = @@SESSION.transaction_write_set_extraction; 6SELECT @start_session_value; 7@start_session_value 8OFF 9SET @start_global_binlog_format = @@GLOBAL.binlog_format; 10SELECT @start_global_binlog_format; 11@start_global_binlog_format 12ROW 13SET @@GLOBAL.binlog_format= ROW; 14SET global transaction_write_set_extraction= DEFAULT; 15SELECT @@global.transaction_write_set_extraction; 16@@global.transaction_write_set_extraction 17OFF 18SET global transaction_write_set_extraction='OFF'; 19SELECT @@global.transaction_write_set_extraction; 20@@global.transaction_write_set_extraction 21OFF 22SET global transaction_write_set_extraction= 0; 23SELECT @@global.transaction_write_set_extraction; 24@@global.transaction_write_set_extraction 25OFF 26SET global transaction_write_set_extraction='MURMUR32'; 27SELECT @@global.transaction_write_set_extraction; 28@@global.transaction_write_set_extraction 29MURMUR32 30SET global transaction_write_set_extraction= 1; 31SELECT @@global.transaction_write_set_extraction; 32@@global.transaction_write_set_extraction 33MURMUR32 34SET global transaction_write_set_extraction='XXHASH64'; 35SELECT @@global.transaction_write_set_extraction; 36@@global.transaction_write_set_extraction 37XXHASH64 38SET global transaction_write_set_extraction= 2; 39SELECT @@global.transaction_write_set_extraction; 40@@global.transaction_write_set_extraction 41XXHASH64 42SELECT @@session.transaction_write_set_extraction; 43@@session.transaction_write_set_extraction 44OFF 45SET @@SESSION.binlog_format= ROW; 46SET session transaction_write_set_extraction=DEFAULT; 47SELECT @@session.transaction_write_set_extraction; 48@@session.transaction_write_set_extraction 49XXHASH64 50SET session transaction_write_set_extraction='OFF'; 51SELECT @@session.transaction_write_set_extraction; 52@@session.transaction_write_set_extraction 53OFF 54SET session transaction_write_set_extraction=0; 55SELECT @@session.transaction_write_set_extraction; 56@@session.transaction_write_set_extraction 57OFF 58SET session transaction_write_set_extraction='MURMUR32'; 59SELECT @@session.transaction_write_set_extraction; 60@@session.transaction_write_set_extraction 61MURMUR32 62SET session transaction_write_set_extraction=1; 63SELECT @@session.transaction_write_set_extraction; 64@@session.transaction_write_set_extraction 65MURMUR32 66SET session transaction_write_set_extraction='XXHASH64'; 67SELECT @@session.transaction_write_set_extraction; 68@@session.transaction_write_set_extraction 69XXHASH64 70SET session transaction_write_set_extraction=2; 71SELECT @@session.transaction_write_set_extraction; 72@@session.transaction_write_set_extraction 73XXHASH64 74SET session transaction_write_set_extraction='ABC'; 75ERROR 42000: Variable 'transaction_write_set_extraction' can't be set to the value of 'ABC' 76SELECT @@session.transaction_write_set_extraction; 77@@session.transaction_write_set_extraction 78XXHASH64 79SET session transaction_write_set_extraction= 3; 80ERROR 42000: Variable 'transaction_write_set_extraction' can't be set to the value of '3' 81SELECT @@session.transaction_write_set_extraction; 82@@session.transaction_write_set_extraction 83XXHASH64 84SET session transaction_write_set_extraction='1'; 85ERROR 42000: Variable 'transaction_write_set_extraction' can't be set to the value of '1' 86SELECT @@session.transaction_write_set_extraction; 87@@session.transaction_write_set_extraction 88XXHASH64 89SET @@global.transaction_write_set_extraction = @start_global_value; 90SELECT @@global.transaction_write_set_extraction; 91@@global.transaction_write_set_extraction 92OFF 93SET @@session.transaction_write_set_extraction = @start_session_value; 94SELECT @@session.transaction_write_set_extraction; 95@@session.transaction_write_set_extraction 96OFF 97SET @@GLOBAL.binlog_format= @start_global_binlog_format; 98SELECT @@GLOBAL.binlog_format; 99@@GLOBAL.binlog_format 100ROW 101include/assert.inc [The value for transaction_write_set_extraction shoudl be OFF] 102CREATE TABLE t1 (i INT PRIMARY KEY); 103SET @start_session_value = @@SESSION.transaction_write_set_extraction; 104SELECT @start_session_value; 105@start_session_value 106OFF 107BEGIN; 108SET @@SESSION.transaction_write_set_extraction= MURMUR32; 109ERROR HY000: The system variable transaction_write_set_extraction cannot be set when there is an ongoing transaction. 110COMMIT; 111CREATE TABLE t2(c1 INT, c2 INT); 112CREATE TRIGGER tr2 AFTER INSERT ON t2 FOR EACH ROW 113BEGIN 114SET @@SESSION.transaction_write_set_extraction= MURMUR32; 115END| 116INSERT INTO t2 VALUES (0,0); 117ERROR HY000: The system variable transaction_write_set_extraction cannot be set when there is an ongoing transaction. 118DROP TABLE t2; 119SET @@SESSION.transaction_write_set_extraction=MURMUR32; 120SELECT @@SESSION.transaction_write_set_extraction; 121@@SESSION.transaction_write_set_extraction 122MURMUR32 123SET @@SESSION.transaction_write_set_extraction=OFF; 124include/assert.inc [The value for transaction_write_set_extraction should be OFF] 125SET @@SESSION.binlog_format= STATEMENT; 126SET @@SESSION.transaction_write_set_extraction= MURMUR32; 127ERROR HY000: Cannot change the value of variable transaction_write_set_extraction without binary log format as ROW. 128SET @@SESSION.binlog_format= MIXED; 129SET @@SESSION.transaction_write_set_extraction= MURMUR32; 130ERROR HY000: Cannot change the value of variable transaction_write_set_extraction without binary log format as ROW. 131SET @@SESSION.binlog_format= ROW; 132SET @@SESSION.transaction_write_set_extraction= MURMUR32; 133SELECT @@SESSION.transaction_write_set_extraction; 134@@SESSION.transaction_write_set_extraction 135MURMUR32 136SET @@SESSION.transaction_write_set_extraction = @start_session_value; 137SELECT @@SESSION.transaction_write_set_extraction; 138@@SESSION.transaction_write_set_extraction 139OFF 140SET @@GLOBAL.binlog_format= STATEMENT; 141SET @@GLOBAL.transaction_write_set_extraction= MURMUR32; 142ERROR HY000: Cannot change the value of variable transaction_write_set_extraction without binary log format as ROW. 143SET @@GLOBAL.binlog_format= MIXED; 144SET @@GLOBAL.transaction_write_set_extraction= MURMUR32; 145ERROR HY000: Cannot change the value of variable transaction_write_set_extraction without binary log format as ROW. 146SET @@GLOBAL.binlog_format= ROW; 147SET @@GLOBAL.transaction_write_set_extraction= MURMUR32; 148SELECT @@GLOBAL.transaction_write_set_extraction; 149@@GLOBAL.transaction_write_set_extraction 150MURMUR32 151SET @@GLOBAL.transaction_write_set_extraction = @start_global_value; 152SELECT @@GLOBAL.transaction_write_set_extraction; 153@@GLOBAL.transaction_write_set_extraction 154OFF 155SET @@GLOBAL.binlog_format= @start_global_binlog_format; 156DROP TABLE t1; 157