summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
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
commitf94c2c200d20fd432a98257290dd7010fb1f7314 (patch)
tree9a68d329c7f983d79cf9b32be13d394cffe96538 /sql/sql_table.cc
parented39e7634941d8910006d0751731dca787255e29 (diff)
parent7fc1ab0b4ba99fec01ce317f27b888b9da7e3fe7 (diff)
downloadmariadb-git-f94c2c200d20fd432a98257290dd7010fb1f7314.tar.gz
Merge from 5.0-bugteam
Diffstat (limited to 'sql/sql_table.cc')
-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))