1
by brian
clean slate |
1 |
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=INNODB;
|
2 |
INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6);
|
|
3 |
SET BINLOG_FORMAT=STATEMENT;
|
|
4 |
BEGIN;
|
|
5 |
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|
6 |
ERROR HY000: Transaction isolation level 'READ-COMMITTED' is not safe for 'STATEMENT' binlog mode
|
|
7 |
UPDATE t1 SET b = a*a WHERE a > 1;
|
|
8 |
COMMIT;
|
|
9 |
BEGIN;
|
|
10 |
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
|
|
11 |
UPDATE t1 SET b = a*a WHERE a > 1;
|
|
12 |
COMMIT;
|
|
13 |
BEGIN;
|
|
14 |
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
|
|
15 |
UPDATE t1 SET b = a*a WHERE a > 1;
|
|
16 |
COMMIT;
|
|
17 |
SET BINLOG_FORMAT=MIXED;
|
|
18 |
BEGIN;
|
|
19 |
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|
20 |
ERROR HY000: Transaction isolation level 'READ-COMMITTED' is not safe for 'MIXED' binlog mode
|
|
21 |
UPDATE t1 SET b = a*a*a WHERE a > 2;
|
|
22 |
COMMIT;
|
|
23 |
SET BINLOG_FORMAT=ROW;
|
|
24 |
BEGIN;
|
|
25 |
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|
26 |
UPDATE t1 SET b = a*a*a*a WHERE a > 3;
|
|
27 |
COMMIT;
|
|
28 |
SELECT @@session.tx_isolation, @@session.binlog_format;
|
|
29 |
@@session.tx_isolation READ-COMMITTED
|
|
30 |
@@session.binlog_format ROW
|
|
31 |
BEGIN;
|
|
32 |
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|
33 |
SET BINLOG_FORMAT=MIXED;
|
|
34 |
ERROR HY000: Transaction isolation level 'READ-COMMITTED' prevents leaving 'ROW' binlog mode
|
|
35 |
UPDATE t1 SET b = a*a*a*a WHERE a > 3;
|
|
36 |
COMMIT;
|
|
37 |
SELECT @@session.tx_isolation, @@session.binlog_format;
|
|
38 |
@@session.tx_isolation READ-COMMITTED
|
|
39 |
@@session.binlog_format ROW
|
|
40 |
BEGIN;
|
|
41 |
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|
42 |
SET BINLOG_FORMAT=STATEMENT;
|
|
43 |
ERROR HY000: Transaction isolation level 'READ-COMMITTED' prevents leaving 'ROW' binlog mode
|
|
44 |
UPDATE t1 SET b = a*a*a*a WHERE a > 3;
|
|
45 |
COMMIT;
|
|
46 |
SELECT @@session.tx_isolation, @@session.binlog_format;
|
|
47 |
@@session.tx_isolation READ-COMMITTED
|
|
48 |
@@session.binlog_format ROW
|