diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index bd695937f3..30703faaae 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -8054,14 +8054,14 @@ final class ParserImpl implements Parser { if (identifier == null) return null; - if (parseIf(ctx, '.')) { + // Avoid .. token in indexed for loops: + // FOR i IN identifier1 .. identifier2 LOOP <...> END LOOP; + if (peek(ctx, '.') && !peek(ctx, "..")) { List result = new ArrayList(); result.add(identifier); - do { + while (parseIf(ctx, '.')) result.add(parseIdentifier(ctx)); - } - while (parseIf(ctx, '.')); return DSL.name(result.toArray(EMPTY_NAME)); }