From cbd3239233231ad5bd2d2b8ce61874649a5a8ea2 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 27 Mar 2020 17:31:45 +0100 Subject: [PATCH] [jOOQ/jOOQ#9998] DSL.and(noCondition()) and DSL.or(noCondition()) generates a "1 = 1" or "1 = 0" predicate --- jOOQ/src/main/java/org/jooq/impl/CombinedCondition.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/impl/CombinedCondition.java b/jOOQ/src/main/java/org/jooq/impl/CombinedCondition.java index 515e831272..f27064bf04 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CombinedCondition.java +++ b/jOOQ/src/main/java/org/jooq/impl/CombinedCondition.java @@ -43,6 +43,7 @@ import static org.jooq.Clause.CONDITION_AND; import static org.jooq.Clause.CONDITION_OR; import static org.jooq.Operator.AND; import static org.jooq.impl.DSL.falseCondition; +import static org.jooq.impl.DSL.noCondition; import static org.jooq.impl.DSL.trueCondition; import static org.jooq.impl.Keywords.K_AND; import static org.jooq.impl.Keywords.K_OR; @@ -97,6 +98,12 @@ final class CombinedCondition extends AbstractCondition { return result; else if (first != null) return first; + + // [#9998] All conditions were NoCondition + else if (!conditions.isEmpty()) + return noCondition(); + + // [#9998] Otherwise, return the identity for the operator else if (operator == AND) return trueCondition(); else