diff --git a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt index 7dc18a573a..ecdc9da6f5 100644 --- a/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt +++ b/jOOQ-manual/src/main/resources/org/jooq/web/grammar-3.11.txt @@ -513,7 +513,7 @@ factor = exp { ( '*' | '/' | '%' ) exp } exp = unaryOps { '^' unaryOps } ; -unaryOps = { '+' | '-' } term { '::' dataType } +unaryOps = { '+' | '-' } term [ '(+)' ] { '::' dataType } ; term = diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 7dc566013f..750310078b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -3489,6 +3489,10 @@ final class ParserImpl implements Parser { else if (part instanceof Field) if (((Field) part).getDataType().getType() == Boolean.class) return condition((Field) part); + + // [#7266] Support parsing column references as predicates + else if (part instanceof QualifiedField) + return condition((Field) part); else throw ctx.expected("Boolean field"); else