summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-11-09 07:59:36 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2021-11-09 07:59:36 +0200
commitf7054ff5dfea7b84afdde11c14898cff7154521e (patch)
tree97d33d01294e148cf245d16bdab42f7d3cd2a4c6 /sql/handler.h
parente026eddc7dc3b17e7120adfded1d53da0e7ec9f0 (diff)
parenta2f147af35480e27bd599462db59b9b95f71acd9 (diff)
downloadmariadb-git-f7054ff5dfea7b84afdde11c14898cff7154521e.tar.gz
Merge mariadb-10.3.32 into 10.3
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h12
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"));