diff --git a/jOOQ/src/main/java/org/jooq/impl/QuantifiedSelectImpl.java b/jOOQ/src/main/java/org/jooq/impl/QuantifiedSelectImpl.java index 47982a95f1..f25ee95c8a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/QuantifiedSelectImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/QuantifiedSelectImpl.java @@ -95,13 +95,9 @@ final class QuantifiedSelectImpl extends AbstractQueryPart imp ctx.visit(quantifier.toKeyword()); + boolean extraParentheses = false; - - - - - - + ctx.sql(extraParentheses ? " ((" : " ("); ctx.subquery(true) .formatIndentStart() @@ -111,9 +107,7 @@ final class QuantifiedSelectImpl extends AbstractQueryPart imp .formatNewLine() .subquery(false); - - - + ctx.sql(extraParentheses ? "))" : ")"); } @SuppressWarnings({ "rawtypes", "unchecked" }) diff --git a/jOOQ/src/main/java/org/jooq/impl/RowSubqueryCondition.java b/jOOQ/src/main/java/org/jooq/impl/RowSubqueryCondition.java index d895afed0a..1f6f2d6811 100644 --- a/jOOQ/src/main/java/org/jooq/impl/RowSubqueryCondition.java +++ b/jOOQ/src/main/java/org/jooq/impl/RowSubqueryCondition.java @@ -220,10 +220,10 @@ final class RowSubqueryCondition extends AbstractCondition { if (rightQuantified == null) { + // Some databases need extra parentheses around the RHS + boolean extraParentheses = false; - - - + ctx.sql(extraParentheses ? "((" : "("); @@ -239,7 +239,7 @@ final class RowSubqueryCondition extends AbstractCondition { - + ctx.sql(extraParentheses ? "))" : ")"); } // [#2054] Quantified row value expression comparison predicates shouldn't have parentheses before ANY or ALL