aboutsummaryrefslogtreecommitdiff
path: root/src/backend/regex/regprefix.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/regex/regprefix.c')
-rw-r--r--src/backend/regex/regprefix.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/backend/regex/regprefix.c b/src/backend/regex/regprefix.c
index e78faf39960..ce41620a0b4 100644
--- a/src/backend/regex/regprefix.c
+++ b/src/backend/regex/regprefix.c
@@ -162,14 +162,12 @@ findprefix(struct cnfa * cnfa,
thiscolor = COLORLESS;
for (ca = cnfa->states[st]; ca->co != COLORLESS; ca++)
{
- /* We ignore lookahead constraints */
- if (ca->co >= cnfa->ncolors)
- continue;
- /* We can also ignore BOS/BOL arcs */
+ /* We can ignore BOS/BOL arcs */
if (ca->co == cnfa->bos[0] || ca->co == cnfa->bos[1])
continue;
- /* ... but EOS/EOL arcs terminate the search */
- if (ca->co == cnfa->eos[0] || ca->co == cnfa->eos[1])
+ /* ... but EOS/EOL arcs terminate the search, as do LACONs */
+ if (ca->co == cnfa->eos[0] || ca->co == cnfa->eos[1] ||
+ ca->co >= cnfa->ncolors)
{
thiscolor = COLORLESS;
break;