diff options
author | unknown <serg@serg.mysql.com> | 2001-05-16 23:06:30 +0200 |
---|---|---|
committer | unknown <serg@serg.mysql.com> | 2001-05-16 23:06:30 +0200 |
commit | 89ec1da4fb9cb5d61f4c78e36092548a28c5dbac (patch) | |
tree | 2a70f22e99c521af3c0c2174fd0bbf8ed02fa073 /myisammrg/myrg_rprev.c | |
parent | b59b5f4b6ec6bd5b0eb8cee832b6d4f51fa646fc (diff) | |
download | mariadb-git-89ec1da4fb9cb5d61f4c78e36092548a28c5dbac.tar.gz |
Fulltext manual changed, MERGE bug fixed
Docs/manual.texi:
Fulltext manual changed, MERGE bug added to changelog
myisammrg/mymrgdef.h:
MERGE bug fixed
myisammrg/myrg_rkey.c:
MERGE bug fixed
myisammrg/myrg_rnext.c:
MERGE bug fixed
myisammrg/myrg_rprev.c:
MERGE bug fixed
mysql-test/r/merge.result:
MERGE bug fixed
mysql-test/t/merge.test:
MERGE bug fixed
Diffstat (limited to 'myisammrg/myrg_rprev.c')
-rw-r--r-- | myisammrg/myrg_rprev.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/myisammrg/myrg_rprev.c b/myisammrg/myrg_rprev.c index c63c73b4200..d8089e80498 100644 --- a/myisammrg/myrg_rprev.c +++ b/myisammrg/myrg_rprev.c @@ -29,7 +29,11 @@ int myrg_rprev(MYRG_INFO *info, byte *buf, int inx) if ((err=mi_rprev(info->current_table->table,NULL,inx))) { if (err == HA_ERR_END_OF_FILE) + { queue_remove(&(info->by_key),0); + if (!info->by_key.elements) + return HA_ERR_END_OF_FILE; + } else return err; } @@ -40,16 +44,7 @@ int myrg_rprev(MYRG_INFO *info, byte *buf, int inx) queue_replaced(&(info->by_key)); } - /* next, let's finish myrg_rkey's initial scan */ - if ((err=_myrg_finish_scan(info, inx, HA_READ_KEY_OR_PREV))) - return err; - - if (!info->by_key.elements) - return HA_ERR_END_OF_FILE; - /* now, mymerge's read_prev is as simple as one queue_top */ mi=(info->current_table=(MYRG_TABLE *)queue_top(&(info->by_key)))->table; return mi_rrnd(mi,buf,mi->lastpos); } - - |