From 83ea839fb15dd5ed616d2b3152ccc5472ee5e5e6 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Sun, 25 Feb 2018 13:58:16 +0100 Subject: 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. --- mysql-test/suite/versioning/r/rpl_mix.result | 11 +++++++++++ mysql-test/suite/versioning/t/rpl_mix.test | 19 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 mysql-test/suite/versioning/r/rpl_mix.result create mode 100644 mysql-test/suite/versioning/t/rpl_mix.test (limited to 'mysql-test') 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 -- cgit v1.2.1