summaryrefslogtreecommitdiff
path: root/sql/log_event.cc
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2014-09-30 15:55:02 +0200
committerSergei Golubchik <sergii@pisem.net>2014-09-30 15:55:02 +0200
commit75908fc4ce31548312e832168954a5a998b30dda (patch)
tree838df55ee62e7c32a1c7d5416a8d56e8ec6662ba /sql/log_event.cc
parent5e1fad85122f9e6c63991327991902ca4d09aa59 (diff)
downloadmariadb-git-75908fc4ce31548312e832168954a5a998b30dda.tar.gz
BUG#13627921 - MISSING FLAGS IN SQL_COMMAND_FLAGS MAY LEAD TO REPLICATION PROBLEMS
merge from MySQL-5.6, revision: revno: 3677.2.1 committer: Alfranio Correia <alfranio.correia@oracle.com> timestamp: Tue 2012-02-28 16:26:37 +0000 message: BUG#13627921 - MISSING FLAGS IN SQL_COMMAND_FLAGS MAY LEAD TO REPLICATION PROBLEMS Flags in sql_command_flags[command] are not correctly set for the following commands: . SQLCOM_SET_OPTION is missing CF_CAN_GENERATE_ROW_EVENTS; . SQLCOM_BINLOG_BASE64_EVENT is missing CF_CAN_GENERATE_ROW_EVENTS; . SQLCOM_REVOKE_ALL is missing CF_CHANGES_DATA; . SQLCOM_CREATE_FUNCTION is missing CF_AUTO_COMMIT_TRANS; This may lead to a wrong sequence of events in the binary log. To fix the problem, we correctly set the flags in sql_command_flags[command].
Diffstat (limited to 'sql/log_event.cc')
-rw-r--r--sql/log_event.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc
index 1cb8da55aee..9bd9929bd57 100644
--- a/sql/log_event.cc
+++ b/sql/log_event.cc
@@ -3217,7 +3217,10 @@ Query_log_event::Query_log_event(THD* thd_arg, const char* query_arg,
thd->in_multi_stmt_transaction_mode()) || trx_cache;
break;
case SQLCOM_SET_OPTION:
- use_cache= trx_cache= (lex->autocommit ? FALSE : TRUE);
+ if (lex->autocommit)
+ use_cache= trx_cache= FALSE;
+ else
+ use_cache= TRUE;
break;
case SQLCOM_RELEASE_SAVEPOINT:
case SQLCOM_ROLLBACK_TO_SAVEPOINT: