mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			116 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # Basic XA transactions syntax
 | |
| #
 | |
| 
 | |
| --source ../have_engine.inc
 | |
| --source support_xa.inc
 | |
| 
 | |
| # Save the initial number of concurrent sessions
 | |
| --source include/count_sessions.inc
 | |
| 
 | |
| --disable_warnings
 | |
| DROP TABLE IF EXISTS t1;
 | |
| --enable_warnings
 | |
| 
 | |
| --connect (con1,localhost,root,,)
 | |
| --connect (con2,localhost,root,,)
 | |
| 
 | |
| --connection con1
 | |
| --let $create_definition = a $int_col
 | |
| --source ../create_table.inc
 | |
| 
 | |
| --connection con2
 | |
| 
 | |
| # Two-phase COMMIT
 | |
| 
 | |
| XA START 'xa1';
 | |
| INSERT INTO t1 (a) VALUES (1);
 | |
| 
 | |
| --connection con1
 | |
| --sorted_result
 | |
| SELECT a FROM t1;
 | |
| 
 | |
| --connection con2
 | |
| INSERT INTO t1 (a) VALUES (2);
 | |
| XA END 'xa1';
 | |
| 
 | |
| --connection con1
 | |
| --sorted_result
 | |
| SELECT a FROM t1;
 | |
| 
 | |
| --connection con2
 | |
| XA PREPARE 'xa1';
 | |
| 
 | |
| --connection con1
 | |
| --sorted_result
 | |
| SELECT a FROM t1;
 | |
| 
 | |
| --connection con2
 | |
| XA RECOVER;
 | |
| XA COMMIT 'xa1';
 | |
| 
 | |
| --connection con1
 | |
| --sorted_result
 | |
| SELECT a FROM t1;
 | |
| 
 | |
| # One-phase COMMIT
 | |
| 
 | |
| --connection con2
 | |
| XA START 'xa2';
 | |
| INSERT INTO t1 (a) VALUES (3);
 | |
| 
 | |
| --connection con1
 | |
| --sorted_result
 | |
| SELECT a FROM t1;
 | |
| 
 | |
| --connection con2
 | |
| INSERT INTO t1 (a) VALUES (4);
 | |
| XA END 'xa2';
 | |
| 
 | |
| --connection con1
 | |
| --sorted_result
 | |
| SELECT a FROM t1;
 | |
| 
 | |
| --connection con2
 | |
| XA COMMIT 'xa2' ONE PHASE;
 | |
| 
 | |
| --connection con1
 | |
| --sorted_result
 | |
| SELECT a FROM t1;
 | |
| 
 | |
| # Rollback
 | |
| 
 | |
| --connection con2
 | |
| XA START 'xa3';
 | |
| INSERT INTO t1 (a) VALUES (5);
 | |
| 
 | |
| --connection con1
 | |
| --sorted_result
 | |
| SELECT a FROM t1;
 | |
| 
 | |
| --connection con2
 | |
| INSERT INTO t1 (a) VALUES (6);
 | |
| XA END 'xa3';
 | |
| 
 | |
| --connection con1
 | |
| --sorted_result
 | |
| SELECT a FROM t1;
 | |
| 
 | |
| --connection con2
 | |
| XA PREPARE 'xa3';
 | |
| 
 | |
| --connection con1
 | |
| --sorted_result
 | |
| SELECT a FROM t1;
 | |
| 
 | |
| --connection con2
 | |
| XA ROLLBACK 'xa3';
 | |
| 
 | |
| --connection con1
 | |
| --sorted_result
 | |
| SELECT a FROM t1;
 | |
| 
 | |
| DROP TABLE t1;
 | |
| 
 | |
| --source ../cleanup_engine.inc
 | |
| 
 | 
