0003-headline-minor-bug-fixes.patch
text/x-diff
Filename: 0003-headline-minor-bug-fixes.patch
Type: text/x-diff
Part: 2
Patch
Format: unified
Series: patch 0003
| File | + | − |
|---|---|---|
| src/backend/tsearch/wparser_def.c | 3 | 11 |
| src/test/regress/expected/tsearch.out | 3 | 3 |
diff --git a/src/backend/tsearch/wparser_def.c b/src/backend/tsearch/wparser_def.c
index 3e9d1f8..84b6f8f9 100644
--- a/src/backend/tsearch/wparser_def.c
+++ b/src/backend/tsearch/wparser_def.c
@@ -2347,14 +2347,6 @@ mark_hl_words(HeadlineParsedText *prs, TSQuery query, int highlight,
pose = i;
}
- /* XXX this optimization seems unnecessary and wrong */
- if (poslen < bestlen && !BADENDPOINT(beste))
- {
- /* better cover already found, so try next cover */
- p++;
- continue;
- }
-
if (curlen < max_words)
{
/*
@@ -2409,13 +2401,13 @@ mark_hl_words(HeadlineParsedText *prs, TSQuery query, int highlight,
i = q;
for (; curlen > min_words; i--)
{
+ if (!BADENDPOINT(i))
+ break;
if (!NONWORDTOKEN(prs->words[i].type))
curlen--;
if (INTERESTINGWORD(i))
poslen--;
- pose = i;
- if (!BADENDPOINT(i))
- break;
+ pose = i - 1;
}
}
diff --git a/src/test/regress/expected/tsearch.out b/src/test/regress/expected/tsearch.out
index d01010f..e6fb820 100644
--- a/src/test/regress/expected/tsearch.out
+++ b/src/test/regress/expected/tsearch.out
@@ -1367,9 +1367,9 @@ to_tsquery('english', 'sea&foo'), 'HighlightAll=true');
(1 row)
SELECT ts_headline('simple', '1 2 3 1 3'::text, '1 <-> 3', 'MaxWords=2, MinWords=1');
- ts_headline
--------------------
- <b>1</b> <b>3</b>
+ ts_headline
+-------------
+ <b>1</b>
(1 row)
SELECT ts_headline('simple', '1 2 3 1 3'::text, '1 & 3', 'MaxWords=4, MinWords=1');