Commit e1b22ab9 authored by Staale Smedseng's avatar Staale Smedseng

Bug#33146 CHECKSUM TABLE is not interruptable by KILL

QUERY statement
      
Commit 55629 applied to 5.0-bugteam and 5.1-bugteam: 
Check for thd->killed in CHECKSUM loop.
parent f8b219ee
...@@ -4376,6 +4376,16 @@ bool mysql_checksum_table(THD *thd, TABLE_LIST *tables, HA_CHECK_OPT *check_opt) ...@@ -4376,6 +4376,16 @@ bool mysql_checksum_table(THD *thd, TABLE_LIST *tables, HA_CHECK_OPT *check_opt)
{ {
for (;;) for (;;)
{ {
if (thd->killed)
{
/*
we've been killed; let handler clean up, and remove the
partial current row from the recordset (embedded lib)
*/
t->file->ha_rnd_end();
thd->protocol->remove_last_row();
goto err;
}
ha_checksum row_crc= 0; ha_checksum row_crc= 0;
int error= t->file->rnd_next(t->record[0]); int error= t->file->rnd_next(t->record[0]);
if (unlikely(error)) if (unlikely(error))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment