List:Commits« Previous MessageNext Message »
From:Konstantin Osipov Date:March 26 2009 7:55pm
Subject:Re: bzr commit into mysql-5.1-bugteam branch
(kristofer.pettersson:2842) Bug#40127
View as plain text  
* 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
Thread
bzr commit into mysql-5.1-bugteam branch (kristofer.pettersson:2842)Bug#40127Kristofer Pettersson26 Mar 2009
  • Re: bzr commit into mysql-5.1-bugteam branch(kristofer.pettersson:2842) Bug#40127Konstantin Osipov26 Mar 2009