summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2018-02-25 13:58:16 +0100
committerSergei Golubchik <serg@mariadb.org>2018-02-25 14:31:15 +0100
commit83ea839fb15dd5ed616d2b3152ccc5472ee5e5e6 (patch)
treeb16b9268043b5982787ae6dd62812a5483c18551 /mysql-test
parentac2d4d49a041c4b0657d24a9b3b697cbcfe69790 (diff)
downloadmariadb-git-83ea839fb15dd5ed616d2b3152ccc5472ee5e5e6.tar.gz
MDEV-15405 Mixed replication fails with "Could not execute Delete_rows_v1 event" upon DELETE HISTORY
Allow slave thread to set time for system versioning Note that every binlog event stores now(0), while microseconds are only stored when they're actually used in the query. Meaning for unversioned->versioned replication, there will be no microseconds. Need to compensate for that.
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/suite/versioning/r/rpl_mix.result11
-rw-r--r--mysql-test/suite/versioning/t/rpl_mix.test19
2 files changed, 30 insertions, 0 deletions
diff --git a/mysql-test/suite/versioning/r/rpl_mix.result b/mysql-test/suite/versioning/r/rpl_mix.result
new file mode 100644
index 00000000000..68eded0faf7
--- /dev/null
+++ b/mysql-test/suite/versioning/r/rpl_mix.result
@@ -0,0 +1,11 @@
+include/master-slave.inc
+[connection master]
+CREATE TABLE t1 (pk INT PRIMARY KEY, i INT) WITH SYSTEM VERSIONING;
+INSERT INTO t1 VALUES (1,10),(2,20);
+UPDATE t1 SET i = 100;
+SET BINLOG_FORMAT= ROW;
+DELETE HISTORY FROM t1;
+connection slave;
+connection master;
+drop table t1;
+include/rpl_end.inc
diff --git a/mysql-test/suite/versioning/t/rpl_mix.test b/mysql-test/suite/versioning/t/rpl_mix.test
new file mode 100644
index 00000000000..64025c74625
--- /dev/null
+++ b/mysql-test/suite/versioning/t/rpl_mix.test
@@ -0,0 +1,19 @@
+--source include/have_binlog_format_mixed.inc
+--source include/master-slave.inc
+
+#
+# MDEV-15405 Mixed replication fails with "Could not execute Delete_rows_v1 event" upon DELETE HISTORY
+#
+
+CREATE TABLE t1 (pk INT PRIMARY KEY, i INT) WITH SYSTEM VERSIONING;
+INSERT INTO t1 VALUES (1,10),(2,20);
+UPDATE t1 SET i = 100;
+# This is to imitiate any real-life situation which causes a switch to row format
+SET BINLOG_FORMAT= ROW;
+DELETE HISTORY FROM t1;
+--sync_slave_with_master
+
+connection master;
+drop table t1;
+
+--source include/rpl_end.inc