summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStaale Smedseng <staale.smedseng@sun.com>2009-04-23 19:55:32 +0200
committerStaale Smedseng <staale.smedseng@sun.com>2009-04-23 19:55:32 +0200
commit533514580fce61459658754d28e73dab4ac3ae32 (patch)
tree9a68d329c7f983d79cf9b32be13d394cffe96538
parent40e0bcab4c970abfa4b88dbfc52f1688fe0a8900 (diff)
parente1b22ab9a1f0acfaec4cf3077b94e49fbadf2684 (diff)
downloadmariadb-git-533514580fce61459658754d28e73dab4ac3ae32.tar.gz
Merge from 5.0-bugteam
-rw-r--r--sql/sql_table.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index 64fc72ae96f..29d43155778 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -7489,6 +7489,16 @@ bool mysql_checksum_table(THD *thd, TABLE_LIST *tables,
{
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;
int error= t->file->rnd_next(t->record[0]);
if (unlikely(error))