diff options
author | unknown <sergefp@mysql.com> | 2004-11-29 06:51:30 +0300 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2004-11-29 06:51:30 +0300 |
commit | 7ea16212077eb53bdc8161af1d132deae8f030ff (patch) | |
tree | 0212745a88314b9199da4949005a684b4e2167f3 /myisam/mi_rnext_same.c | |
parent | 1b898a22460a369b8ca21f573973a8a0518e85d4 (diff) | |
download | mariadb-git-7ea16212077eb53bdc8161af1d132deae8f030ff.tar.gz |
Fix and testcase for BUG#6699
myisam/mi_rnext_same.c:
Fix for BUG#6699:
MERGE handler now uses mi_rnext_same() with priority queue, so skip record unpacking if buf==NULL
myisammrg/myrg_rnext_same.c:
Fix for BUG#6699:
make myrg_rnext_same sort always sort records and return them in key order.
mysql-test/r/merge.result:
Test for BUG#6699
mysql-test/t/merge.test:
Test for BUG#6699
Diffstat (limited to 'myisam/mi_rnext_same.c')
-rw-r--r-- | myisam/mi_rnext_same.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/myisam/mi_rnext_same.c b/myisam/mi_rnext_same.c index 1342718d6aa..a50c578e081 100644 --- a/myisam/mi_rnext_same.c +++ b/myisam/mi_rnext_same.c @@ -88,6 +88,10 @@ int mi_rnext_same(MI_INFO *info, byte *buf) if (my_errno == HA_ERR_KEY_NOT_FOUND) my_errno=HA_ERR_END_OF_FILE; } + else if (!buf) + { + DBUG_RETURN(info->lastpos==HA_OFFSET_ERROR ? my_errno : 0); + } else if (!(*info->read_record)(info,info->lastpos,buf)) { info->update|= HA_STATE_AKTIV; /* Record is read */ |