mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
ft_boolean_search.c:
bug#6705 - (+trunc1* +trunc2*) fulltext.test, fulltext.result: bug#6705
This commit is contained in:
@ -247,7 +247,7 @@ static void _ftb_init_index_search(FT_INFO *ftb)
|
|||||||
FTB_EXPR *top_ftbe=ftbe->up->up;
|
FTB_EXPR *top_ftbe=ftbe->up->up;
|
||||||
ftbw->docid[0]=HA_OFFSET_ERROR;
|
ftbw->docid[0]=HA_OFFSET_ERROR;
|
||||||
for (ftbe=ftbw->up; ftbe != top_ftbe; ftbe=ftbe->up)
|
for (ftbe=ftbw->up; ftbe != top_ftbe; ftbe=ftbe->up)
|
||||||
if (ftbe->flags & FTB_FLAG_YES)
|
if (!(ftbe->flags & FTB_FLAG_NO))
|
||||||
ftbe->yweaks++;
|
ftbe->yweaks++;
|
||||||
ftbe=0;
|
ftbe=0;
|
||||||
break;
|
break;
|
||||||
@ -255,7 +255,7 @@ static void _ftb_init_index_search(FT_INFO *ftb)
|
|||||||
}
|
}
|
||||||
if (!ftbe)
|
if (!ftbe)
|
||||||
continue;
|
continue;
|
||||||
/* 3 */
|
/* 4 */
|
||||||
if (!is_tree_inited(& ftb->no_dupes))
|
if (!is_tree_inited(& ftb->no_dupes))
|
||||||
init_tree(& ftb->no_dupes,0,0,sizeof(my_off_t),
|
init_tree(& ftb->no_dupes,0,0,sizeof(my_off_t),
|
||||||
_ftb_no_dupes_cmp,0,0,0);
|
_ftb_no_dupes_cmp,0,0,0);
|
||||||
|
@ -162,6 +162,14 @@ a
|
|||||||
select * from t1 where match a against ("+aaa10 +(bbb*)" in boolean mode);
|
select * from t1 where match a against ("+aaa10 +(bbb*)" in boolean mode);
|
||||||
a
|
a
|
||||||
aaa10 bbb20
|
aaa10 bbb20
|
||||||
|
select * from t1 where match a against ("+(+aaa* +bbb1*)" in boolean mode);
|
||||||
|
a
|
||||||
|
aaa20 bbb15
|
||||||
|
aaa30 bbb10
|
||||||
|
select * from t1 where match a against ("(+aaa* +bbb1*)" in boolean mode);
|
||||||
|
a
|
||||||
|
aaa20 bbb15
|
||||||
|
aaa30 bbb10
|
||||||
drop table t1;
|
drop table t1;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
id int(11),
|
id int(11),
|
||||||
|
@ -87,6 +87,8 @@ select * from t1 where match a against ("+aaa* +bbb*" in boolean mode);
|
|||||||
select * from t1 where match a against ("+aaa* +bbb1*" in boolean mode);
|
select * from t1 where match a against ("+aaa* +bbb1*" in boolean mode);
|
||||||
select * from t1 where match a against ("+aaa* +ccc*" in boolean mode);
|
select * from t1 where match a against ("+aaa* +ccc*" in boolean mode);
|
||||||
select * from t1 where match a against ("+aaa10 +(bbb*)" in boolean mode);
|
select * from t1 where match a against ("+aaa10 +(bbb*)" in boolean mode);
|
||||||
|
select * from t1 where match a against ("+(+aaa* +bbb1*)" in boolean mode);
|
||||||
|
select * from t1 where match a against ("(+aaa* +bbb1*)" in boolean mode);
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
#
|
#
|
||||||
|
Reference in New Issue
Block a user