* Kristofer Pettersson <Kristofer.Pettersson@stripped> [09/03/26 20:16]:
> 2842 Kristofer Pettersson 2009-03-26
> Bug#40127 Multiple table DELETE IGNORE hangs on foreign key constraint
> violation
> on 5.0
> The server crashes on an assert in net_end_statement indicating that the
> Diagnostics area wasn't set properly during execution.
> This happened on a multi table DELETE operation using the IGNORE keyword.
> The keyword is suppose to allow for execution to continue on a best effort
> despite some non-fatal errors. Instead execution stopped and no client
> response was sent which would have led to a protocol error if it hadn't been
> for the assert.
> This patch corrects this issue by checking for the existence of an IGNORE
With your patch, DELETE IGNORE
returns a wrong number of affected rows: you shouldn't increment
deleted if ha_delete_row() returned an error.
You shouldn't call after triggers either (single-table DELETE does
not).
Please fix these two issues, as they relate to the code structure,
and cover with tests.
The problem of silenced warnings will need more work.
I reported Bug#43895 "Multi-DELETE IGNORE does not report warnings"
Thank you for looking into this,
--
kostja