1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

ftb +(+(many -parens)) bug fixed

This commit is contained in:
serg@serg.mylan
2004-02-22 00:19:36 +01:00
parent 429a165995
commit bcd14123bc
3 changed files with 12 additions and 4 deletions

View File

@ -55,8 +55,9 @@ static double _nwghts[11]=
static double *nwghts=_nwghts+5; /* nwghts[i] = -0.5*1.5**i */
#define FTB_FLAG_TRUNC 1 /* MUST be 1 */
#define FTB_FLAG_YES 2 /* These two - YES and NO */
#define FTB_FLAG_NO 4 /* should NEVER be set both */
#define FTB_FLAG_YES 2 /* no two from these three */
#define FTB_FLAG_NO 4 /* YES, NO, WONLY */
#define FTB_FLAG_WONLY 8 /* should be ever set both */
typedef struct st_ftb_expr FTB_EXPR;
struct st_ftb_expr
@ -444,7 +445,8 @@ static void _ftb_climb_the_tree(FTB *ftb, FTB_WORD *ftbw, FT_SEG_ITERATOR *ftsi_
ftbe->cur_weight += weight;
if (ftbe->yesses < ythresh)
break;
yn= (ftbe->yesses++ == ythresh) ? ftbe->flags : 0 ;
if (!(yn & FTB_FLAG_WONLY))
yn= (ftbe->yesses++ == ythresh) ? ftbe->flags : FTB_FLAG_WONLY ;
weight*= ftbe->weight;
}
}