From 7c4d467a5c07c2c4bc4145c81646cebf609f8066 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 21 Jan 2022 16:15:45 +0100 Subject: [PATCH] [jOOQ/jOOQ#12916] Select.(), , (), (), () don't actually return null in the absence of a predicate --- .../main/java/org/jooq/impl/ConditionProviderImpl.java | 9 +++++++++ jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/ConditionProviderImpl.java b/jOOQ/src/main/java/org/jooq/impl/ConditionProviderImpl.java index 1a7828b28b..60ffac5d78 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ConditionProviderImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ConditionProviderImpl.java @@ -55,6 +55,9 @@ import org.jooq.SQL; import org.jooq.Select; import org.jooq.impl.QOM.UProxy; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + /** * @author Lukas Eder */ @@ -67,6 +70,12 @@ final class ConditionProviderImpl extends AbstractQueryPart implements Condition this.condition = condition; } + @Nullable + final Condition getWhereOrNull() { + return hasWhere() ? condition : null; + } + + @NotNull final Condition getWhere() { return hasWhere() ? condition : noCondition(); } diff --git a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java index 07ee3880d4..d152018019 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java @@ -4489,7 +4489,7 @@ final class SelectQueryImpl extends AbstractResultQuery imp @Override public final Condition $where() { - return condition; + return condition.getWhereOrNull(); } @Override @@ -4528,7 +4528,7 @@ final class SelectQueryImpl extends AbstractResultQuery imp @Override public final Condition $having() { - return having; + return having.getWhereOrNull(); } @Override @@ -4554,7 +4554,7 @@ final class SelectQueryImpl extends AbstractResultQuery imp @Override public final Condition $qualify() { - return qualify; + return qualify.getWhereOrNull(); } @Override