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