summaryrefslogtreecommitdiff
path: root/myisam
diff options
context:
space:
mode:
authorunknown <serg@serg.mysql.com>2002-10-09 18:57:13 +0000
committerunknown <serg@serg.mysql.com>2002-10-09 18:57:13 +0000
commit61c50cf761718fa55092ac4ba1c041e0732db2e5 (patch)
treef591efba5b54649f79593c0ab2fbbd3bd28179b1 /myisam
parentefacfcade07a9f75bfa801d109829a52a1666e17 (diff)
downloadmariadb-git-61c50cf761718fa55092ac4ba1c041e0732db2e5.tar.gz
fixed repair_by_sort FULLTEXT bug
Diffstat (limited to 'myisam')
-rw-r--r--myisam/mi_check.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/myisam/mi_check.c b/myisam/mi_check.c
index 4669566fc8f..9e591325c1c 100644
--- a/myisam/mi_check.c
+++ b/myisam/mi_check.c
@@ -2529,7 +2529,7 @@ static int sort_ft_key_read(MI_SORT_PARAM *sort_param, void *key)
if (!sort_param->wordlist)
{
- do
+ for (;;)
{
my_free((char*) wptr, MYF(MY_ALLOW_ZERO_PTR));
if ((error=sort_get_next_record(sort_param)))
@@ -2537,9 +2537,10 @@ static int sort_ft_key_read(MI_SORT_PARAM *sort_param, void *key)
if (!(wptr=_mi_ft_parserecord(info,sort_param->key,
key,sort_param->record)))
DBUG_RETURN(1);
+ if (wptr->pos)
+ break;
error=sort_write_record(sort_param);
}
- while (!wptr->pos);
sort_param->wordptr=sort_param->wordlist=wptr;
}
else
@@ -2560,6 +2561,7 @@ static int sort_ft_key_read(MI_SORT_PARAM *sort_param, void *key)
{
my_free((char*) sort_param->wordlist, MYF(0));
sort_param->wordlist=0;
+ error=sort_write_record(sort_param);
}
else
sort_param->wordptr=(void*)wptr;