summaryrefslogtreecommitdiff
path: root/sql/sql_insert.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_insert.cc')
-rw-r--r--sql/sql_insert.cc4
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);