mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +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;
|