diff options
author | Alfranio Correia <alfranio.correia@sun.com> | 2010-04-01 00:16:22 +0100 |
---|---|---|
committer | Alfranio Correia <alfranio.correia@sun.com> | 2010-04-01 00:16:22 +0100 |
commit | e0328736bfc3bcb69699551d80afa931016b6c6b (patch) | |
tree | e16830206143b2f2563118bd3a61137701b31b86 | |
parent | ae8e6ca5065e119c3277bd05546057ac552ee82b (diff) | |
download | mariadb-git-e0328736bfc3bcb69699551d80afa931016b6c6b.tar.gz |
BUG#51291 Unfortunate effect around variable binlog_direct_non_transactional_updates
Post-merge fix.
-rw-r--r-- | mysql-test/suite/rpl/t/rpl_semi_sync.test | 1 | ||||
-rw-r--r-- | sql/log.cc | 2 | ||||
-rw-r--r-- | sql/sql_class.cc | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/mysql-test/suite/rpl/t/rpl_semi_sync.test b/mysql-test/suite/rpl/t/rpl_semi_sync.test index b04541aba21..8e769efbcd5 100644 --- a/mysql-test/suite/rpl/t/rpl_semi_sync.test +++ b/mysql-test/suite/rpl/t/rpl_semi_sync.test @@ -15,6 +15,7 @@ call mtr.add_suppression("Unsafe statement binlogged in statement format since B connection slave; call mtr.add_suppression("Master server does not support semi-sync"); call mtr.add_suppression("Semi-sync slave .* reply"); +call mtr.add_suppression("Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT."); enable_query_log; connection master; diff --git a/sql/log.cc b/sql/log.cc index a83eca12481..248dc4b5265 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -4245,7 +4245,7 @@ bool use_trans_cache(const THD* thd, bool is_transactional) return ((thd->variables.binlog_format != BINLOG_FORMAT_STMT || thd->variables.binlog_direct_non_trans_update) ? is_transactional : - (is_transactional || cache_mngr->trx_cache.empty())); + (is_transactional || !cache_mngr->trx_cache.empty())); } /* diff --git a/sql/sql_class.cc b/sql/sql_class.cc index ffceb2eabce..473518b91c1 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -3748,7 +3748,7 @@ int THD::decide_logging_format(TABLE_LIST *tables) isolation level but if we have pure repeatable read or serializable the lock history on the slave will be different from the master. */ - if (!trans_non_trans_access_engines) + if (trans_non_trans_access_engines) lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_MIXED_STATEMENT); else if (trans_has_updated_trans_table(this) && !all_trans_write_engines) lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_NONTRANS_AFTER_TRANS); |