mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	Temporarily using thd_tx_isolation() until decision is made on how to get the isolation level.
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
CREATE TABLE t1 (a INT PRIMARY KEY, b INT) ENGINE=INNODB;
 | 
						|
INSERT INTO t1 VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6);
 | 
						|
SET BINLOG_FORMAT=STATEMENT;
 | 
						|
BEGIN;
 | 
						|
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 | 
						|
ERROR HY000: Transaction isolation level 'READ-COMMITTED' is not safe for 'STATEMENT' binlog mode
 | 
						|
UPDATE t1 SET b = a*a WHERE a > 1;
 | 
						|
COMMIT;
 | 
						|
BEGIN;
 | 
						|
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
 | 
						|
UPDATE t1 SET b = a*a WHERE a > 1;
 | 
						|
COMMIT;
 | 
						|
BEGIN;
 | 
						|
SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 | 
						|
UPDATE t1 SET b = a*a WHERE a > 1;
 | 
						|
COMMIT;
 | 
						|
SET BINLOG_FORMAT=MIXED;
 | 
						|
BEGIN;
 | 
						|
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 | 
						|
ERROR HY000: Transaction isolation level 'READ-COMMITTED' is not safe for 'MIXED' binlog mode
 | 
						|
UPDATE t1 SET b = a*a*a WHERE a > 2;
 | 
						|
COMMIT;
 | 
						|
SET BINLOG_FORMAT=ROW;
 | 
						|
BEGIN;
 | 
						|
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 | 
						|
UPDATE t1 SET b = a*a*a*a WHERE a > 3;
 | 
						|
COMMIT;
 | 
						|
SELECT @@session.tx_isolation, @@session.binlog_format;
 | 
						|
@@session.tx_isolation	READ-COMMITTED
 | 
						|
@@session.binlog_format	ROW
 | 
						|
BEGIN;
 | 
						|
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 | 
						|
SET BINLOG_FORMAT=MIXED;
 | 
						|
ERROR HY000: Transaction isolation level 'READ-COMMITTED' prevents leaving 'ROW' binlog mode
 | 
						|
UPDATE t1 SET b = a*a*a*a WHERE a > 3;
 | 
						|
COMMIT;
 | 
						|
SELECT @@session.tx_isolation, @@session.binlog_format;
 | 
						|
@@session.tx_isolation	READ-COMMITTED
 | 
						|
@@session.binlog_format	ROW
 | 
						|
BEGIN;
 | 
						|
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
 | 
						|
SET BINLOG_FORMAT=STATEMENT;
 | 
						|
ERROR HY000: Transaction isolation level 'READ-COMMITTED' prevents leaving 'ROW' binlog mode
 | 
						|
UPDATE t1 SET b = a*a*a*a WHERE a > 3;
 | 
						|
COMMIT;
 | 
						|
SELECT @@session.tx_isolation, @@session.binlog_format;
 | 
						|
@@session.tx_isolation	READ-COMMITTED
 | 
						|
@@session.binlog_format	ROW
 |