rpl_gtid_execution.cc | rpl_gtid_execution.cc | |||
---|---|---|---|---|
skipping to change at line 229 | skipping to change at line 229 | |||
DBUG_ENTER("gtid_pre_statement_checks"); | DBUG_ENTER("gtid_pre_statement_checks"); | |||
if (enforce_gtid_consistency && !thd->is_ddl_gtid_compatible()) | if (enforce_gtid_consistency && !thd->is_ddl_gtid_compatible()) | |||
{ | { | |||
// error message has been generated by thd->is_ddl_gtid_compatible() | // error message has been generated by thd->is_ddl_gtid_compatible() | |||
DBUG_RETURN(GTID_STATEMENT_CANCEL); | DBUG_RETURN(GTID_STATEMENT_CANCEL); | |||
} | } | |||
const Gtid_specification *gtid_next= &thd->variables.gtid_next; | const Gtid_specification *gtid_next= &thd->variables.gtid_next; | |||
if (stmt_causes_implicit_commit(thd, CF_IMPLICIT_COMMIT_BEGIN) && | if (stmt_causes_implicit_commit(thd, CF_IMPLICIT_COMMIT_BEGIN) && | |||
(thd->in_active_multi_stmt_transaction() || | thd->in_active_multi_stmt_transaction() && | |||
(!is_update_query(thd->lex->sql_command) && | ||||
!thd->lex->is_set_password_sql)) && | ||||
gtid_next->type != AUTOMATIC_GROUP) | gtid_next->type != AUTOMATIC_GROUP) | |||
{ | { | |||
my_error(ER_CANT_DO_IMPLICIT_COMMIT_IN_TRX_WHEN_GTID_NEXT_IS_SET, MYF(0 )); | my_error(ER_CANT_DO_IMPLICIT_COMMIT_IN_TRX_WHEN_GTID_NEXT_IS_SET, MYF(0 )); | |||
DBUG_RETURN(GTID_STATEMENT_CANCEL); | DBUG_RETURN(GTID_STATEMENT_CANCEL); | |||
} | } | |||
/* | /* | |||
never skip BEGIN/COMMIT. | never skip BEGIN/COMMIT. | |||
@todo: add flag to sql_command_flags to detect if statement | @todo: add flag to sql_command_flags to detect if statement | |||
End of changes. 1 change blocks. | ||||
3 lines changed or deleted | 1 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |