mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
fixed repair_by_sort FULLTEXT bug
This commit is contained in:
@ -2529,7 +2529,7 @@ static int sort_ft_key_read(MI_SORT_PARAM *sort_param, void *key)
|
|||||||
|
|
||||||
if (!sort_param->wordlist)
|
if (!sort_param->wordlist)
|
||||||
{
|
{
|
||||||
do
|
for (;;)
|
||||||
{
|
{
|
||||||
my_free((char*) wptr, MYF(MY_ALLOW_ZERO_PTR));
|
my_free((char*) wptr, MYF(MY_ALLOW_ZERO_PTR));
|
||||||
if ((error=sort_get_next_record(sort_param)))
|
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,
|
if (!(wptr=_mi_ft_parserecord(info,sort_param->key,
|
||||||
key,sort_param->record)))
|
key,sort_param->record)))
|
||||||
DBUG_RETURN(1);
|
DBUG_RETURN(1);
|
||||||
|
if (wptr->pos)
|
||||||
|
break;
|
||||||
error=sort_write_record(sort_param);
|
error=sort_write_record(sort_param);
|
||||||
}
|
}
|
||||||
while (!wptr->pos);
|
|
||||||
sort_param->wordptr=sort_param->wordlist=wptr;
|
sort_param->wordptr=sort_param->wordlist=wptr;
|
||||||
}
|
}
|
||||||
else
|
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));
|
my_free((char*) sort_param->wordlist, MYF(0));
|
||||||
sort_param->wordlist=0;
|
sort_param->wordlist=0;
|
||||||
|
error=sort_write_record(sort_param);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
sort_param->wordptr=(void*)wptr;
|
sort_param->wordptr=(void*)wptr;
|
||||||
|
@ -203,3 +203,12 @@ select 8 from t1;
|
|||||||
8
|
8
|
||||||
8
|
8
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1 (a text, fulltext key (a));
|
||||||
|
insert into t1 values ('aaaa');
|
||||||
|
repair table t1;
|
||||||
|
Table Op Msg_type Msg_text
|
||||||
|
test.t1 repair status OK
|
||||||
|
select * from t1 where match (a) against ('aaaa');
|
||||||
|
a
|
||||||
|
drop table t1;
|
||||||
|
@ -160,3 +160,15 @@ INSERT INTO t1 VALUES (1,'my small mouse'),(2,'la-la-la'),(3,'It is so funny'),(
|
|||||||
select 8 from t1;
|
select 8 from t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check bug reported by Julian Ladisch
|
||||||
|
# ERROR 1030: Got error 127 from table handler
|
||||||
|
#
|
||||||
|
|
||||||
|
drop table if exists t1;
|
||||||
|
create table t1 (a text, fulltext key (a));
|
||||||
|
insert into t1 values ('aaaa');
|
||||||
|
repair table t1;
|
||||||
|
select * from t1 where match (a) against ('aaaa');
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user