mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 04:46:15 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
#
 | 
						|
# Test the case where SR is rolled back to savepoint that points to the 
 | 
						|
# very beginning of the transaction. This results in regular rollback
 | 
						|
# rather than rollback to savepoint.
 | 
						|
#
 | 
						|
 | 
						|
--source include/galera_cluster.inc
 | 
						|
--source include/have_debug_sync.inc
 | 
						|
 | 
						|
--connection node_1
 | 
						|
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
 | 
						|
SET SESSION wsrep_trx_fragment_size=1;
 | 
						|
 | 
						|
#
 | 
						|
# Test 1: regular transaction
 | 
						|
#
 | 
						|
--connection node_1
 | 
						|
START TRANSACTION;
 | 
						|
SAVEPOINT A;
 | 
						|
INSERT INTO t1 VALUES (1);
 | 
						|
ROLLBACK TO SAVEPOINT A;
 | 
						|
COMMIT;
 | 
						|
 | 
						|
--connection node_1
 | 
						|
SELECT COUNT(*) = 0 FROM t1;
 | 
						|
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
 | 
						|
 | 
						|
--connection node_2
 | 
						|
SELECT COUNT(*) = 0 FROM t1;
 | 
						|
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
 | 
						|
 | 
						|
#
 | 
						|
# Test 2: AUTOCOMMIT OFF
 | 
						|
#
 | 
						|
--connection node_1
 | 
						|
SET AUTOCOMMIT=OFF;
 | 
						|
SAVEPOINT A;
 | 
						|
INSERT INTO t1 VALUES (2);
 | 
						|
ROLLBACK TO SAVEPOINT A;
 | 
						|
COMMIT;
 | 
						|
 | 
						|
--connection node_1
 | 
						|
SELECT COUNT(*) = 0 FROM t1;
 | 
						|
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
 | 
						|
 | 
						|
--connection node_2
 | 
						|
SELECT COUNT(*) = 0 FROM t1;
 | 
						|
SELECT COUNT(*) = 0 FROM mysql.wsrep_streaming_log;
 | 
						|
 | 
						|
DROP TABLE t1;
 |