summaryrefslogtreecommitdiff
path: root/sql/log.cc
diff options
context:
space:
mode:
authorTeemu Ollakka <teemu.ollakka@galeracluster.com>2015-04-20 13:18:21 +0300
committerNirbhay Choubey <nirbhay@mariadb.com>2015-09-09 21:04:28 -0400
commitdc9e32540744a0e44e6e80c36a82ea6ee1ef2657 (patch)
tree78e70c77f9dad8e67dd6269977dd8f585c3494d8 /sql/log.cc
parentd0e24c67998a8b887a4ec785669d4a0ae9355058 (diff)
downloadmariadb-git-dc9e32540744a0e44e6e80c36a82ea6ee1ef2657.tar.gz
refs codership/mysql-wsrep#110 - clear table map events on SAVEPOINT
Clear binlog table maps before writing SAVEPOINT query event into binlog cache. This enforces recreation of table map events for the following row event.
Diffstat (limited to 'sql/log.cc')
-rw-r--r--sql/log.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/log.cc b/sql/log.cc
index d9f63157f4b..4868902b524 100644
--- a/sql/log.cc
+++ b/sql/log.cc
@@ -2282,6 +2282,11 @@ static int binlog_savepoint_set(handlerton *hton, THD *thd, void *sv)
char buf[1024];
#ifdef WITH_WSREP
if (wsrep_emulate_bin_log) DBUG_RETURN(0);
+ /*
+ Clear table maps before writing SAVEPOINT event. This enforces
+ recreation of table map events for the following row event.
+ */
+ thd->clear_binlog_table_maps();
#endif /* WITH_WSREP */
String log_query(buf, sizeof(buf), &my_charset_bin);
if (log_query.copy(STRING_WITH_LEN("SAVEPOINT "), &my_charset_bin) ||