diff options
Diffstat (limited to 'sql/sql_insert.cc')
-rw-r--r-- | sql/sql_insert.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index 4468e2c9c36..cc88ac4f2ae 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -1011,6 +1011,8 @@ bool mysql_insert(THD *thd,TABLE_LIST *table_list, if (thd->transaction.stmt.modified_non_trans_table) thd->transaction.all.modified_non_trans_table= TRUE; + thd->transaction.all.m_unsafe_rollback_flags|= + (thd->transaction.stmt.m_unsafe_rollback_flags & THD_TRANS::DID_WAIT); if (error <= 0 || thd->transaction.stmt.modified_non_trans_table || @@ -3690,6 +3692,8 @@ bool select_insert::send_eof() if (thd->transaction.stmt.modified_non_trans_table) thd->transaction.all.modified_non_trans_table= TRUE; + thd->transaction.all.m_unsafe_rollback_flags|= + (thd->transaction.stmt.m_unsafe_rollback_flags & THD_TRANS::DID_WAIT); DBUG_ASSERT(trans_table || !changed || thd->transaction.stmt.modified_non_trans_table); |