summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/sql/handler.h b/sql/handler.h
index 542b91c570d..02a4a76c6c1 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -1477,6 +1477,9 @@ struct THD_TRANS
/*
Define the type of statemens 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.
*/
static unsigned int const MODIFIED_NON_TRANS_TABLE= 0x01;
static unsigned int const CREATED_TEMP_TABLE= 0x02;
@@ -1485,6 +1488,14 @@ struct THD_TRANS
static unsigned int const DID_DDL= 0x10;
static unsigned int const 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"));