1
0
mirror of https://github.com/MariaDB/server.git synced 2025-06-16 11:21:15 +03:00

Bug #54401 assert in Diagnostics_area::set_eof_status , HANDLER

This assert checks that the server does not try to send EOF to the
client if there has been some error during processing. This to make
sure that the error is in fact sent to the client.

The problem was that any errors during processing of WHERE conditions
in HANDLER ... READ statements where not detected by the handler code.
The handler code therefore still tried to send EOF to the client,
triggering the assert. The bug was only noticeable in debug builds.

This patch fixes the problem by making sure that the handler code
checks for errors during condition processing and acts accordingly.
This commit is contained in:
Jon Olav Hauglid
2010-07-05 13:59:34 +02:00
parent 635ccedbbc
commit ecfd9958a1
4 changed files with 76 additions and 0 deletions

View File

@ -747,7 +747,11 @@ retry:
goto ok;
}
if (cond && !cond->val_int())
{
if (thd->is_error())
goto err;
continue;
}
if (num_rows >= offset_limit_cnt)
{
protocol->prepare_for_resend();