diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2021-11-05 19:59:58 +0100 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2021-11-05 19:59:58 +0100 |
commit | a19ab67318760f8f155ef7f4f821dfc738542c67 (patch) | |
tree | 831ef82db697e8db672c17f9fdf902bdabccfd8c /sql/handler.h | |
parent | 3021b929c898b1e5d3229e177abe7d72009d78dd (diff) | |
parent | a2f147af35480e27bd599462db59b9b95f71acd9 (diff) | |
download | mariadb-git-a19ab67318760f8f155ef7f4f821dfc738542c67.tar.gz |
Merge branch '10.3' into 10.4mariadb-10.4.22
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 99aaac12402..f3be9e7de6a 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -1783,9 +1783,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, @@ -1793,6 +1797,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")); |