Below is the list of changes that have just been committed into a local
5.0 repository of elkin. When elkin does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2008-02-04 16:35:41+02:00, aelkin@stripped +1 -0
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@stripped, 2008-02-04 16:35:38+02:00, aelkin@stripped +0 -4
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).
diff -Nrup a/sql/sql_delete.cc b/sql/sql_delete.cc
--- a/sql/sql_delete.cc 2007-10-29 15:20:54 +02:00
+++ b/sql/sql_delete.cc 2008-02-04 16:35:38 +02:00
@@ -730,8 +730,6 @@ void multi_delete::send_error(uint errco
}
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())
| Thread |
|---|
| • bk commit into 5.0 tree (aelkin:1.2568) BUG#32790 | Andrei Elkin | 4 Feb |