diff options
Diffstat (limited to 'sql/handler.h')
-rw-r--r-- | sql/handler.h | 11 |
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")); |