mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			737 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			737 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # Test two transactions on separate nodes which conflict on a FK
 | |
| #
 | |
| 
 | |
| --source include/galera_cluster.inc
 | |
| --source include/have_innodb.inc
 | |
| 
 | |
| CREATE TABLE parent (
 | |
|     id INT PRIMARY KEY,
 | |
|     KEY (id)
 | |
| ) ENGINE=InnoDB;
 | |
| 
 | |
| CREATE TABLE child (
 | |
|     id INT PRIMARY KEY,
 | |
|     parent_id INT,
 | |
|     FOREIGN KEY (parent_id) 
 | |
|         REFERENCES parent(id)
 | |
| ) ENGINE=InnoDB;
 | |
| 
 | |
| INSERT INTO parent VALUES (1), (2);
 | |
| INSERT INTO child VALUES (1,1);
 | |
| 
 | |
| --connection node_1
 | |
| SET AUTOCOMMIT = OFF;
 | |
| START TRANSACTION;
 | |
| DELETE FROM parent WHERE id = 2;
 | |
| 
 | |
| --connection node_2
 | |
| SET AUTOCOMMIT = OFF;
 | |
| START TRANSACTION;
 | |
| INSERT INTO child VALUES (2, 2);
 | |
| 
 | |
| --connection node_1
 | |
| COMMIT;
 | |
| 
 | |
| --connection node_2
 | |
| --error ER_LOCK_DEADLOCK
 | |
| COMMIT;
 | |
| 
 | |
| DROP TABLE child;
 | |
| DROP TABLE parent;
 | 
