diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-11-09 07:59:36 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2021-11-09 07:59:36 +0200 |
commit | f7054ff5dfea7b84afdde11c14898cff7154521e (patch) | |
tree | 97d33d01294e148cf245d16bdab42f7d3cd2a4c6 /sql/handler.h | |
parent | e026eddc7dc3b17e7120adfded1d53da0e7ec9f0 (diff) | |
parent | a2f147af35480e27bd599462db59b9b95f71acd9 (diff) | |
download | mariadb-git-f7054ff5dfea7b84afdde11c14898cff7154521e.tar.gz |
Merge mariadb-10.3.32 into 10.3
Diffstat (limited to 'sql/handler.h')
-rw-r--r-- | sql/handler.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sql/handler.h b/sql/handler.h index e56ac9fab6e..91225982e9e 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -1730,9 +1730,13 @@ struct THD_TRANS /* Define the type of statements which cannot be rolled back safely. Each type occupies one bit in m_unsafe_rollback_flags. + MODIFIED_NON_TRANS_TABLE is limited to mark only the temporary + non-transactional table *when* it's cached along with the transactional + events; the regular table is covered by the "namesake" bool var. */ enum unsafe_statement_types { + MODIFIED_NON_TRANS_TABLE= 1, CREATED_TEMP_TABLE= 2, DROPPED_TEMP_TABLE= 4, DID_WAIT= 8, @@ -1740,6 +1744,14 @@ struct THD_TRANS EXECUTED_TABLE_ADMIN_CMD= 0x20 }; + void mark_modified_non_trans_temp_table() + { + m_unsafe_rollback_flags|= MODIFIED_NON_TRANS_TABLE; + } + bool has_modified_non_trans_temp_table() const + { + return (m_unsafe_rollback_flags & MODIFIED_NON_TRANS_TABLE) != 0; + } void mark_executed_table_admin_cmd() { DBUG_PRINT("debug", ("mark_executed_table_admin_cmd")); |