summaryrefslogtreecommitdiff
path: root/sql/rpl_gtid.cc
diff options
context:
space:
mode:
authorSergey Petrunya <psergey@askmonty.org>2013-08-02 18:12:09 +0400
committerSergey Petrunya <psergey@askmonty.org>2013-08-02 18:12:09 +0400
commit5c49041b170f6d7785008c30513c38df37d60e3b (patch)
treeebe70d65b297cd17b562389ecc1456c229af1db4 /sql/rpl_gtid.cc
parent0f985c6407f331d7be9fd98af2104ca14ec6adf8 (diff)
downloadmariadb-git-5c49041b170f6d7785008c30513c38df37d60e3b.tar.gz
MDEV-4816: rpl.rpl_trunc_temp fails in 10.0-serg
Temorary fix for a number of replication tests (rpl.rpl_temp_table_mix_row rpl.rpl_trunc_temp rpl.rpl_current_user rpl.rpl_gtid_master_promote): - THD::decide_logging_format() should not assume that mysql.gtid_slave_pos is a non-replicated table. This used to cause unintended behavior for COMMIT statement: replication would switch to row-based, etc. The question of what should be done when a user issues a statement that explicitly modifies mysql.gtid_slave_pos table remains open.
Diffstat (limited to 'sql/rpl_gtid.cc')
-rw-r--r--sql/rpl_gtid.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/sql/rpl_gtid.cc b/sql/rpl_gtid.cc
index 4783fb763c8..05ac79a8f64 100644
--- a/sql/rpl_gtid.cc
+++ b/sql/rpl_gtid.cc
@@ -210,6 +210,7 @@ rpl_slave_state::truncate_state_table(THD *thd)
{
table= tlist.table;
table->no_replicate= 1;
+ table->s->is_gtid_slave_pos= TRUE; // TEMPORARY CODE
err= table->file->ha_truncate();
if (err)
@@ -346,6 +347,7 @@ rpl_slave_state::record_gtid(THD *thd, const rpl_gtid *gtid, uint64 sub_id,
goto end;
table->no_replicate= 1;
+ table->s->is_gtid_slave_pos= TRUE; // TEMPORARY CODE
if (!in_transaction)
thd->variables.option_bits&=
~(ulonglong)(OPTION_NOT_AUTOCOMMIT|OPTION_BEGIN);