diff options
Diffstat (limited to 'sql/log.cc')
-rw-r--r-- | sql/log.cc | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sql/log.cc b/sql/log.cc index 3cfcabd8363..694a80ba57b 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -1597,8 +1597,7 @@ static int binlog_rollback(handlerton *hton, THD *thd, bool all) table. Such cases should be rare (updating a non-transactional table inside a transaction...) */ - if (unlikely(thd->options & (OPTION_STATUS_NO_TRANS_UPDATE | - OPTION_KEEP_LOG))) + if (unlikely(thd->no_trans_update.all || (thd->options & OPTION_KEEP_LOG))) { Query_log_event qev(thd, STRING_WITH_LEN("ROLLBACK"), TRUE, FALSE); qev.error_code= 0; // see comment in MYSQL_LOG::write(THD, IO_CACHE) @@ -1653,8 +1652,7 @@ static int binlog_savepoint_rollback(handlerton *hton, THD *thd, void *sv) non-transactional table. Otherwise, truncate the binlog cache starting from the SAVEPOINT command. */ - if (unlikely(thd->options & - (OPTION_STATUS_NO_TRANS_UPDATE | OPTION_KEEP_LOG))) + if (unlikely(thd->no_trans_update.all || (thd->options & OPTION_KEEP_LOG))) { int error= thd->binlog_query(THD::STMT_QUERY_TYPE, |