mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
MW-369 Removing obsoleted tests
This commit is contained in:
parent
7a1a5e473e
commit
d43a12bf2f
8 changed files with 0 additions and 323 deletions
|
@ -1,31 +0,0 @@
|
||||||
CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
|
|
||||||
CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
|
|
||||||
CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
|
|
||||||
INSERT INTO p VALUES (1, 0);
|
|
||||||
INSERT INTO p VALUES (2, 0);
|
|
||||||
SET AUTOCOMMIT=ON;
|
|
||||||
START TRANSACTION;
|
|
||||||
DELETE FROM p WHERE f1 = 1;
|
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
|
||||||
INSERT INTO c VALUES (1, 1);
|
|
||||||
SET SESSION wsrep_on = 0;
|
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_enter_sync';
|
|
||||||
COMMIT;
|
|
||||||
SET SESSION wsrep_on = 0;
|
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_enter_sync';
|
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
|
||||||
SELECT * FROM p;
|
|
||||||
f1 f2
|
|
||||||
1 0
|
|
||||||
2 0
|
|
||||||
SELECT * FROM c;
|
|
||||||
f1 p_id
|
|
||||||
1 1
|
|
||||||
DROP TABLE c;
|
|
||||||
DROP TABLE p;
|
|
|
@ -1,32 +0,0 @@
|
||||||
CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
|
|
||||||
CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
|
|
||||||
f2 INTEGER,
|
|
||||||
CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
|
|
||||||
INSERT INTO p VALUES (1, 0);
|
|
||||||
INSERT INTO p VALUES (2, 0);
|
|
||||||
INSERT INTO c VALUES (1, 1, 0);
|
|
||||||
SET AUTOCOMMIT=ON;
|
|
||||||
START TRANSACTION;
|
|
||||||
UPDATE p SET f2 = 1 WHERE f1 = 1;
|
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
|
||||||
UPDATE c SET f2 = 1 WHERE f1 = 1;
|
|
||||||
SET SESSION wsrep_on = 0;
|
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_enter_sync';
|
|
||||||
COMMIT;
|
|
||||||
SET SESSION wsrep_on = 0;
|
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_enter_sync';
|
|
||||||
SELECT * FROM p;
|
|
||||||
f1 f2
|
|
||||||
1 1
|
|
||||||
2 0
|
|
||||||
SELECT * FROM c;
|
|
||||||
f1 p_id f2
|
|
||||||
1 1 1
|
|
||||||
DROP TABLE c;
|
|
||||||
DROP TABLE p;
|
|
|
@ -1,30 +0,0 @@
|
||||||
CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
|
|
||||||
CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
|
|
||||||
CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
|
|
||||||
INSERT INTO p VALUES (1, 0);
|
|
||||||
INSERT INTO p VALUES (2, 0);
|
|
||||||
INSERT INTO c VALUES (1, 1);
|
|
||||||
SET AUTOCOMMIT=ON;
|
|
||||||
START TRANSACTION;
|
|
||||||
UPDATE p SET f2 = 1 WHERE f1 = 1;
|
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
|
||||||
DELETE FROM c WHERE f1 = 1;
|
|
||||||
SET SESSION wsrep_on = 0;
|
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_enter_sync';
|
|
||||||
COMMIT;
|
|
||||||
SET SESSION wsrep_on = 0;
|
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_enter_sync';
|
|
||||||
SELECT * FROM p;
|
|
||||||
f1 f2
|
|
||||||
1 1
|
|
||||||
2 0
|
|
||||||
SELECT * FROM c;
|
|
||||||
f1 p_id
|
|
||||||
DROP TABLE c;
|
|
||||||
DROP TABLE p;
|
|
|
@ -1,31 +0,0 @@
|
||||||
CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
|
|
||||||
CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
|
|
||||||
CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
|
|
||||||
INSERT INTO p VALUES (1, 0);
|
|
||||||
INSERT INTO p VALUES (2, 0);
|
|
||||||
SET AUTOCOMMIT=ON;
|
|
||||||
START TRANSACTION;
|
|
||||||
UPDATE p SET f2 = 1 WHERE f1 = 1;
|
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
|
||||||
INSERT INTO c VALUES (1, 1);
|
|
||||||
SET SESSION wsrep_on = 0;
|
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_enter_sync';
|
|
||||||
COMMIT;
|
|
||||||
SET SESSION wsrep_on = 0;
|
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_enter_sync';
|
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
|
||||||
SELECT * FROM p;
|
|
||||||
f1 f2
|
|
||||||
1 0
|
|
||||||
2 0
|
|
||||||
SELECT * FROM c;
|
|
||||||
f1 p_id
|
|
||||||
1 1
|
|
||||||
DROP TABLE c;
|
|
||||||
DROP TABLE p;
|
|
|
@ -1,50 +0,0 @@
|
||||||
#
|
|
||||||
# Test Outline:
|
|
||||||
# ============
|
|
||||||
#
|
|
||||||
# This test tests the scenario for MW-369 where a new child table
|
|
||||||
# row referring to parent table row is inserted concurrently from
|
|
||||||
# another node while the transaction which tries to delete a
|
|
||||||
# referred row from the parent table is committing.
|
|
||||||
#
|
|
||||||
# The p table will originally have rows (1, 0), (2, 0).
|
|
||||||
# The c table will be empty.
|
|
||||||
#
|
|
||||||
# A new row (1, 1) pointing to parent row (1, 0) is inserted from
|
|
||||||
# connection node_2, the transaction which tries to remove the
|
|
||||||
# parent row (1, 0) is run from connection node_1.
|
|
||||||
#
|
|
||||||
# Expected outcome:
|
|
||||||
# ================
|
|
||||||
#
|
|
||||||
# The transaction on node_1 will fail. The parent table will contain
|
|
||||||
# rows (1, 0), (2, 0) and the child table will contain row (1, 1).
|
|
||||||
#
|
|
||||||
|
|
||||||
--source include/galera_cluster.inc
|
|
||||||
--source include/have_innodb.inc
|
|
||||||
--source include/have_debug_sync.inc
|
|
||||||
--source suite/galera/include/galera_have_debug_sync.inc
|
|
||||||
|
|
||||||
CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
|
|
||||||
CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
|
|
||||||
CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
|
|
||||||
|
|
||||||
INSERT INTO p VALUES (1, 0);
|
|
||||||
INSERT INTO p VALUES (2, 0);
|
|
||||||
|
|
||||||
--let $mw_369_parent_query = DELETE FROM p WHERE f1 = 1
|
|
||||||
--let $mw_369_child_query = INSERT INTO c VALUES (1, 1)
|
|
||||||
--source MW-369.inc
|
|
||||||
|
|
||||||
# Commit fails
|
|
||||||
--connection node_1
|
|
||||||
--error ER_LOCK_DEADLOCK
|
|
||||||
--reap
|
|
||||||
|
|
||||||
--connection node_2
|
|
||||||
SELECT * FROM p;
|
|
||||||
SELECT * FROM c;
|
|
||||||
|
|
||||||
DROP TABLE c;
|
|
||||||
DROP TABLE p;
|
|
|
@ -1,48 +0,0 @@
|
||||||
#
|
|
||||||
# Test Outline:
|
|
||||||
# ============
|
|
||||||
#
|
|
||||||
# This test tests the scenario for MW-369 where a existing
|
|
||||||
# child table row is updated concurrently from another node
|
|
||||||
# with a transaction which updates the parent table.
|
|
||||||
#
|
|
||||||
# The p table will originally have rows (1, 0), (2, 0).
|
|
||||||
# The c table will originally have rows (1, 1, 0) which points
|
|
||||||
# to parent table row (1, 0).
|
|
||||||
#
|
|
||||||
# Expected outcome:
|
|
||||||
# ================
|
|
||||||
#
|
|
||||||
# Both updates should succeed since they are done to separate tables and
|
|
||||||
# rows. The parent table will contain rows (1, 1), (2, 0). The child
|
|
||||||
# table will contain row (1, 1, 1).
|
|
||||||
#
|
|
||||||
|
|
||||||
--source include/galera_cluster.inc
|
|
||||||
--source include/have_innodb.inc
|
|
||||||
--source include/have_debug_sync.inc
|
|
||||||
--source suite/galera/include/galera_have_debug_sync.inc
|
|
||||||
|
|
||||||
CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
|
|
||||||
CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
|
|
||||||
f2 INTEGER,
|
|
||||||
CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
|
|
||||||
|
|
||||||
INSERT INTO p VALUES (1, 0);
|
|
||||||
INSERT INTO p VALUES (2, 0);
|
|
||||||
INSERT INTO c VALUES (1, 1, 0);
|
|
||||||
|
|
||||||
--let mw_369_parent_query = UPDATE p SET f2 = 1 WHERE f1 = 1
|
|
||||||
--let $mw_369_child_query = UPDATE c SET f2 = 1 WHERE f1 = 1
|
|
||||||
--source MW-369.inc
|
|
||||||
|
|
||||||
# Commit succeeds
|
|
||||||
--connection node_1
|
|
||||||
--reap
|
|
||||||
|
|
||||||
--connection node_2
|
|
||||||
SELECT * FROM p;
|
|
||||||
SELECT * FROM c;
|
|
||||||
|
|
||||||
DROP TABLE c;
|
|
||||||
DROP TABLE p;
|
|
|
@ -1,51 +0,0 @@
|
||||||
#
|
|
||||||
# Test Outline:
|
|
||||||
# ============
|
|
||||||
#
|
|
||||||
# This test tests the scenario for MW-369 where a child table row is
|
|
||||||
# deleted concurrently from the other node while a transaction updates
|
|
||||||
# the parent table referred by the child table row.
|
|
||||||
#
|
|
||||||
# The p table will originally have rows (1, 0), (2, 0)
|
|
||||||
# The c table will originally have row (1, 1) which points to parent
|
|
||||||
# table row (1, 0).
|
|
||||||
#
|
|
||||||
# A row (1, 1) pointing to parent row (1, 0) is deleted from
|
|
||||||
# connection node_2, the transaction which tries to update the
|
|
||||||
# parent row (1, 0) is run from connection node_1.
|
|
||||||
#
|
|
||||||
# Expected Outcome:
|
|
||||||
# ================
|
|
||||||
#
|
|
||||||
# Both operations on node_1 and node_2 should succeed without conflicts.
|
|
||||||
# The parent table should contain values (1, 1), (2, 0) and the child
|
|
||||||
# table should be empty.
|
|
||||||
#
|
|
||||||
|
|
||||||
--source include/galera_cluster.inc
|
|
||||||
--source include/have_innodb.inc
|
|
||||||
--source include/have_debug_sync.inc
|
|
||||||
--source suite/galera/include/galera_have_debug_sync.inc
|
|
||||||
|
|
||||||
CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
|
|
||||||
CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
|
|
||||||
CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
|
|
||||||
|
|
||||||
INSERT INTO p VALUES (1, 0);
|
|
||||||
INSERT INTO p VALUES (2, 0);
|
|
||||||
INSERT INTO c VALUES (1, 1);
|
|
||||||
|
|
||||||
--let $mw_369_parent_query = UPDATE p SET f2 = 1 WHERE f1 = 1
|
|
||||||
--let $mw_369_child_query = DELETE FROM c WHERE f1 = 1
|
|
||||||
--source MW-369.inc
|
|
||||||
|
|
||||||
# Commit succeeds
|
|
||||||
--connection node_1
|
|
||||||
--reap
|
|
||||||
|
|
||||||
--connection node_2
|
|
||||||
SELECT * FROM p;
|
|
||||||
SELECT * FROM c;
|
|
||||||
|
|
||||||
DROP TABLE c;
|
|
||||||
DROP TABLE p;
|
|
|
@ -1,50 +0,0 @@
|
||||||
#
|
|
||||||
# Test Outline:
|
|
||||||
# ============
|
|
||||||
#
|
|
||||||
# This test tests the scenario for MW-369 where a child table row is
|
|
||||||
# inserted concurrently from the other node while a transaction updates
|
|
||||||
# the parent table referred by the newly inserted child table row.
|
|
||||||
#
|
|
||||||
# The p table will originally have rows (1, 0), (2, 0).
|
|
||||||
# The c table will originally be empty.
|
|
||||||
#
|
|
||||||
# A row (1, 1) pointing to parent row (1, 0) is inserted from
|
|
||||||
# connection node_2, the transaction which tries to update the
|
|
||||||
# parent row (1, 0) is run from connection node_1.
|
|
||||||
#
|
|
||||||
# Expected Outcome:
|
|
||||||
# ================
|
|
||||||
#
|
|
||||||
# The parent operation on connection node_1 will conflict with an insert
|
|
||||||
# to node_2. The parent table will contain rows (1, 0), (2, 0) and
|
|
||||||
# the child table will contain row (1, 1).
|
|
||||||
#
|
|
||||||
|
|
||||||
--source include/galera_cluster.inc
|
|
||||||
--source include/have_innodb.inc
|
|
||||||
--source include/have_debug_sync.inc
|
|
||||||
--source suite/galera/include/galera_have_debug_sync.inc
|
|
||||||
|
|
||||||
CREATE TABLE p (f1 INTEGER PRIMARY KEY, f2 INTEGER) ENGINE=INNODB;
|
|
||||||
CREATE TABLE c (f1 INTEGER PRIMARY KEY, p_id INTEGER,
|
|
||||||
CONSTRAINT fk_1 FOREIGN KEY (p_id) REFERENCES p (f1)) ;
|
|
||||||
|
|
||||||
INSERT INTO p VALUES (1, 0);
|
|
||||||
INSERT INTO p VALUES (2, 0);
|
|
||||||
|
|
||||||
--let $mw_369_parent_query = UPDATE p SET f2 = 1 WHERE f1 = 1
|
|
||||||
--let $mw_369_child_query = INSERT INTO c VALUES (1, 1)
|
|
||||||
--source MW-369.inc
|
|
||||||
|
|
||||||
# Commit succeeds
|
|
||||||
--connection node_1
|
|
||||||
--error ER_LOCK_DEADLOCK
|
|
||||||
--reap
|
|
||||||
|
|
||||||
--connection node_2
|
|
||||||
SELECT * FROM p;
|
|
||||||
SELECT * FROM c;
|
|
||||||
|
|
||||||
DROP TABLE c;
|
|
||||||
DROP TABLE p;
|
|
Loading…
Reference in a new issue