summaryrefslogtreecommitdiff
path: root/isam/rnext.c
diff options
context:
space:
mode:
authormonty@donna.mysql.com <>2000-11-21 03:43:34 +0200
committermonty@donna.mysql.com <>2000-11-21 03:43:34 +0200
commitb65dbb61143e7add58481dc4bc184c530a9a5582 (patch)
tree18fdf025bea7d918e304f45384902d822f68f2f6 /isam/rnext.c
parentb7d81c037904a6d5d9e4a8602b1c9d5406a23a20 (diff)
downloadmariadb-git-b65dbb61143e7add58481dc4bc184c530a9a5582.tar.gz
Fixed problem with auto-repair of MyISAM tables
Fixed bug in ISAM and MyISAM when updating from multiple-processes
Diffstat (limited to 'isam/rnext.c')
-rw-r--r--isam/rnext.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/isam/rnext.c b/isam/rnext.c
index ebe00fc2fa1..451624bb42b 100644
--- a/isam/rnext.c
+++ b/isam/rnext.c
@@ -27,7 +27,7 @@
int nisam_rnext(N_INFO *info, byte *buf, int inx)
{
- int error;
+ int error,changed;
uint flag;
DBUG_ENTER("nisam_rnext");
@@ -40,10 +40,11 @@ int nisam_rnext(N_INFO *info, byte *buf, int inx)
#ifndef NO_LOCKING
if (_nisam_readinfo(info,F_RDLCK,1)) DBUG_RETURN(-1);
#endif
+ changed=_nisam_test_if_changed(info);
if (!flag)
error=_nisam_search_first(info,info->s->keyinfo+inx,
info->s->state.key_root[inx]);
- else if (_nisam_test_if_changed(info) == 0)
+ else if (!changed)
error=_nisam_search_next(info,info->s->keyinfo+inx,info->lastkey,flag,
info->s->state.key_root[inx]);
else