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).
This commit is contained in:
parent
7faa7d60aa
commit
77b84b12e6
@ -730,8 +730,6 @@ void multi_delete::send_error(uint errcode,const char *err)
|
||||
}
|
||||
thd->transaction.all.modified_non_trans_table= true;
|
||||
}
|
||||
DBUG_ASSERT(!normal_tables || !deleted ||
|
||||
thd->transaction.stmt.modified_non_trans_table);
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
@ -839,8 +837,6 @@ bool multi_delete::send_eof()
|
||||
{
|
||||
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 (mysql_bin_log.is_open())
|
||||
|
Loading…
x
Reference in New Issue
Block a user