summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r--sql/sql_class.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 819342a8aa1..844db884c05 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -4370,7 +4370,16 @@ public:
{
main_lex.restore_set_statement_var();
}
-
+ /* Copy relevant `stmt` transaction flags to `all` transaction. */
+ void merge_unsafe_rollback_flags()
+ {
+ if (transaction.stmt.modified_non_trans_table)
+ transaction.all.modified_non_trans_table= TRUE;
+ transaction.all.m_unsafe_rollback_flags|=
+ (transaction.stmt.m_unsafe_rollback_flags &
+ (THD_TRANS::DID_WAIT | THD_TRANS::CREATED_TEMP_TABLE |
+ THD_TRANS::DROPPED_TEMP_TABLE | THD_TRANS::DID_DDL));
+ }
/*
Reset current_linfo
Setting current_linfo to 0 needs to be done with LOCK_thread_count to