summaryrefslogtreecommitdiff
path: root/sql/handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/handler.cc')
-rw-r--r--sql/handler.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/sql/handler.cc b/sql/handler.cc
index 4e6dfb7bfae..748ea21b4f7 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -5723,10 +5723,16 @@ static int binlog_log_row(TABLE* table,
bool error= 0;
THD *const thd= table->in_use;
- /* only InnoDB tables will be replicated through binlog emulation */
- if (WSREP_EMULATE_BINLOG(thd) &&
- table->file->partition_ht()->db_type != DB_TYPE_INNODB)
+#ifdef WITH_WSREP
+ /*
+ Only InnoDB tables will be replicated through binlog emulation. Also
+ updates in mysql.gtid_slave_state table should not be binlogged.
+ */
+ if ((WSREP_EMULATE_BINLOG(thd) &&
+ table->file->partition_ht()->db_type != DB_TYPE_INNODB) ||
+ (thd->wsrep_ignore_table == true))
return 0;
+#endif /* WITH_WSREP */
if (check_table_binlog_row_based(thd, table))
{