summaryrefslogtreecommitdiff
path: root/heap
diff options
context:
space:
mode:
authorunknown <cmiller@zippy.cornsilk.net>2006-08-02 13:06:59 -0400
committerunknown <cmiller@zippy.cornsilk.net>2006-08-02 13:06:59 -0400
commitf4fb48bab0c61a769cd7efabfba41e0ca672abcd (patch)
treef1078fdaf773c7b1ea8bf167ef14595a887b78b9 /heap
parent98daac18656274f32d57f5bdcef668f73e74bcb2 (diff)
downloadmariadb-git-f4fb48bab0c61a769cd7efabfba41e0ca672abcd.tar.gz
Bug#9719: DELETE with WHERE on HEAP table just deletes first row of matched
set. (Ramil's patch, recreated.) heap/hp_delete.c: Reset info->lastkey_len for further heap_rnext/heap_rprev calls. mysql-test/r/heap_btree.result: Test for bug #9719: DELETE with WHERE on HEAP table just deletes first row of matched set. mysql-test/t/heap_btree.test: Test for bug #9719: DELETE with WHERE on HEAP table just deletes first row of matched set.
Diffstat (limited to 'heap')
-rw-r--r--heap/hp_delete.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/heap/hp_delete.c b/heap/hp_delete.c
index 90e537081d3..266a9da6ca3 100644
--- a/heap/hp_delete.c
+++ b/heap/hp_delete.c
@@ -73,7 +73,10 @@ int hp_rb_delete_key(HP_INFO *info, register HP_KEYDEF *keyinfo,
int res;
if (flag)
+ {
info->last_pos= NULL; /* For heap_rnext/heap_rprev */
+ info->lastkey_len= 0;
+ }
custom_arg.keyseg= keyinfo->seg;
custom_arg.key_length= hp_rb_make_key(keyinfo, info->recbuf, record, recpos);