diff options
author | Sergei Golubchik <sergii@pisem.net> | 2014-09-30 15:55:02 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2014-09-30 15:55:02 +0200 |
commit | 75908fc4ce31548312e832168954a5a998b30dda (patch) | |
tree | 838df55ee62e7c32a1c7d5416a8d56e8ec6662ba /sql/log_event.cc | |
parent | 5e1fad85122f9e6c63991327991902ca4d09aa59 (diff) | |
download | mariadb-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.cc | 5 |
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: |