diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 04a8401a92..843ab47e23 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -11161,7 +11161,9 @@ final class DefaultParseContext extends AbstractParseContext implements ParseCon } private final Field parseArrayValueConstructorIf(boolean requireArrayKeyword) { - if (requireArrayKeyword |= parseKeywordIf("ARRAY") || !requireArrayKeyword) { + boolean array = false; + + if ((array = parseKeywordIf("ARRAY")) || !requireArrayKeyword) { if (parseIf('[')) { List> fields; @@ -11176,13 +11178,13 @@ final class DefaultParseContext extends AbstractParseContext implements ParseCon // Prevent "wrong" javac method bind return DSL.array((Collection) fields); } - else if (requireArrayKeyword && parseIf('(')) { + else if (array && parseIf('(')) { SelectQueryImpl select = parseWithOrSelect(1); parse(')'); return DSL.array(select); } - else if (requireArrayKeyword) + else if (array) throw expected("[", "("); }