summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <mats@kindahl-laptop.dnsalias.net>2007-11-09 11:02:51 +0100
committerunknown <mats@kindahl-laptop.dnsalias.net>2007-11-09 11:02:51 +0100
commite7c56ceb8b825b090b3fb1f0673835a5cdc5bcd6 (patch)
tree700c23065cb98dc89baaa0e217581f2960a239f6 /mysql-test
parent1aa12b229e4e25a3f551ff590557b3ea3d8b7006 (diff)
downloadmariadb-git-e7c56ceb8b825b090b3fb1f0673835a5cdc5bcd6.tar.gz
BUG#31552 (Replication breaks when deleting rows from out-of-sync table without PK):
Pushing test case for bug only. Bug already fixed as a result of the patch for BUG#19958. mysql-test/extra/rpl_tests/rpl_row_basic.test: Adding test to see that no error is given on slave when deleting rows that don't exist on table without primary key. mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result: Result change. mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result: Result change. mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result: Result change.
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/extra/rpl_tests/rpl_row_basic.test36
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result19
-rw-r--r--mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result19
-rw-r--r--mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result19
4 files changed, 88 insertions, 5 deletions
diff --git a/mysql-test/extra/rpl_tests/rpl_row_basic.test b/mysql-test/extra/rpl_tests/rpl_row_basic.test
index 6de254d9931..c35a53f15bc 100644
--- a/mysql-test/extra/rpl_tests/rpl_row_basic.test
+++ b/mysql-test/extra/rpl_tests/rpl_row_basic.test
@@ -215,11 +215,36 @@ sync_slave_with_master;
--echo --- on slave ---
SELECT * FROM t8 ORDER BY a;
-#
-# Test conflicting operations when changing in a table referenced by a
-# foreign key. We'll reuse the above table and just add a table that
-# references it.
-#
+# BUG#31552: Replication breaks when deleting rows from out-of-sync
+# table without PK
+
+--echo **** Test for BUG#31552 ****
+
+--echo **** On Master ****
+# Clean up t1 so that we can use it.
+connection master;
+DELETE FROM t1;
+sync_slave_with_master;
+
+# Just to get a clean binary log
+source include/reset_master_and_slave.inc;
+
+--echo **** On Master ****
+connection master;
+INSERT INTO t1 VALUES ('K','K'), ('L','L'), ('M','M');
+--echo **** On Master ****
+sync_slave_with_master;
+DELETE FROM t1 WHERE C1 = 'L';
+
+connection master;
+DELETE FROM t1;
+query_vertical SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
+sync_slave_with_master;
+let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
+disable_query_log;
+eval SELECT "$last_error" AS Last_SQL_Error;
+enable_query_log;
+query_vertical SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
#
# cleanup
@@ -227,3 +252,4 @@ SELECT * FROM t8 ORDER BY a;
connection master;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8;
+sync_slave_with_master;
diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
index a6877b27b95..2efe3a3e486 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_2myisam.result
@@ -415,4 +415,23 @@ a b c
2 4 8
3 6 9
99 99 99
+**** Test for BUG#31552 ****
+**** On Master ****
+DELETE FROM t1;
+**** Resetting master and slave ****
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+**** On Master ****
+INSERT INTO t1 VALUES ('K','K'), ('L','L'), ('M','M');
+**** On Master ****
+DELETE FROM t1 WHERE C1 = 'L';
+DELETE FROM t1;
+SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
+COUNT(*) 0
+Last_SQL_Error
+0
+SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
+COUNT(*) 0
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8;
diff --git a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
index 4c6ec627db5..fc78abfbe2e 100644
--- a/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
+++ b/mysql-test/suite/rpl/r/rpl_row_basic_3innodb.result
@@ -415,4 +415,23 @@ a b c
2 4 8
3 6 9
99 99 99
+**** Test for BUG#31552 ****
+**** On Master ****
+DELETE FROM t1;
+**** Resetting master and slave ****
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+**** On Master ****
+INSERT INTO t1 VALUES ('K','K'), ('L','L'), ('M','M');
+**** On Master ****
+DELETE FROM t1 WHERE C1 = 'L';
+DELETE FROM t1;
+SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
+COUNT(*) 0
+Last_SQL_Error
+0
+SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
+COUNT(*) 0
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8;
diff --git a/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result b/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result
index 5519e0dcd0c..abd5bad8e49 100644
--- a/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result
+++ b/mysql-test/suite/rpl_ndb/r/rpl_row_basic_7ndb.result
@@ -415,4 +415,23 @@ a b c
2 4 8
3 6 9
99 99 99
+**** Test for BUG#31552 ****
+**** On Master ****
+DELETE FROM t1;
+**** Resetting master and slave ****
+STOP SLAVE;
+RESET SLAVE;
+RESET MASTER;
+START SLAVE;
+**** On Master ****
+INSERT INTO t1 VALUES ('K','K'), ('L','L'), ('M','M');
+**** On Master ****
+DELETE FROM t1 WHERE C1 = 'L';
+DELETE FROM t1;
+SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
+COUNT(*) 0
+Last_SQL_Error
+0
+SELECT COUNT(*) FROM t1 ORDER BY c1,c2;
+COUNT(*) 0
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8;