Commit 77b84b12 authored by unknown's avatar unknown

Bug #32790 crash in trigger.test with InnoDB for a table

the reason for the failure were incorrect asserts.

Removing asserts altogether as there is no the implication does not hold
(as explained in the comments for the file).


sql/sql_delete.cc:
  removing two asserts because they can not hold basing on the definition
  of `normal_tables'. The one does not specify in a non-transactional table,
  which must be in the list of tables to be deleted, is modified indeed.
  So, it's possible to have normal_tables == true and deleted == true both
  but that would be yet a transactional table got modified (and then
  thd->transaction.stmt.modified_non_trans_table remains false default).
parent 7faa7d60
...@@ -730,8 +730,6 @@ void multi_delete::send_error(uint errcode,const char *err) ...@@ -730,8 +730,6 @@ void multi_delete::send_error(uint errcode,const char *err)
} }
thd->transaction.all.modified_non_trans_table= true; thd->transaction.all.modified_non_trans_table= true;
} }
DBUG_ASSERT(!normal_tables || !deleted ||
thd->transaction.stmt.modified_non_trans_table);
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
} }
...@@ -839,8 +837,6 @@ bool multi_delete::send_eof() ...@@ -839,8 +837,6 @@ bool multi_delete::send_eof()
{ {
query_cache_invalidate3(thd, delete_tables, 1); query_cache_invalidate3(thd, delete_tables, 1);
} }
DBUG_ASSERT(!normal_tables || !deleted ||
thd->transaction.stmt.modified_non_trans_table);
if ((local_error == 0) || thd->transaction.stmt.modified_non_trans_table) if ((local_error == 0) || thd->transaction.stmt.modified_non_trans_table)
{ {
if (mysql_bin_log.is_open()) if (mysql_bin_log.is_open())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment