diff options
Diffstat (limited to 'src/backend/tsearch/ts_parse.c')
-rw-r--r-- | src/backend/tsearch/ts_parse.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/backend/tsearch/ts_parse.c b/src/backend/tsearch/ts_parse.c index 22862bdb806..0634f54a71b 100644 --- a/src/backend/tsearch/ts_parse.c +++ b/src/backend/tsearch/ts_parse.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tsearch/ts_parse.c,v 1.7 2008/01/01 19:45:52 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/tsearch/ts_parse.c,v 1.8 2008/05/16 16:31:01 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -415,6 +415,7 @@ parsetext(Oid cfgId, ParsedText *prs, char *buf, int buflen) prs->words[prs->curwords].len = strlen(ptr->lexeme); prs->words[prs->curwords].word = ptr->lexeme; prs->words[prs->curwords].nvariant = ptr->nvariant; + prs->words[prs->curwords].flags = ptr->flags & TSL_PREFIX; prs->words[prs->curwords].alen = 0; prs->words[prs->curwords].pos.pos = LIMITPOS(prs->pos); ptr++; @@ -463,8 +464,8 @@ hlfinditem(HeadlineParsedText *prs, TSQuery query, char *buf, int buflen) for (i = 0; i < query->size; i++) { if (item->type == QI_VAL && - item->operand.length == buflen && - strncmp(GETOPERAND(query) + item->operand.distance, buf, buflen) == 0) + tsCompareString( GETOPERAND(query) + item->operand.distance, item->operand.length, + buf, buflen, item->operand.prefix ) == 0 ) { if (word->item) { |