From 832173fef934bccf410be24ba1d8910f6066355b Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 19 Feb 2021 10:36:02 +0100 Subject: [PATCH] [jOOQ/jOOQ#11238] PostgreSQL FILTER clause does not work on JSON_ARRAYAGG() functions --- jOOQ/src/main/java/org/jooq/impl/JSONArrayAgg.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/JSONArrayAgg.java b/jOOQ/src/main/java/org/jooq/impl/JSONArrayAgg.java index ca2b01aba9..e410a3b686 100644 --- a/jOOQ/src/main/java/org/jooq/impl/JSONArrayAgg.java +++ b/jOOQ/src/main/java/org/jooq/impl/JSONArrayAgg.java @@ -43,6 +43,7 @@ import static org.jooq.SQLDialect.MYSQL; import static org.jooq.impl.DSL.function; import static org.jooq.impl.DSL.groupConcat; import static org.jooq.impl.DSL.inline; +import static org.jooq.impl.DSL.noCondition; import static org.jooq.impl.JSONEntryImpl.jsonCast; import static org.jooq.impl.JSONOnNull.ABSENT_ON_NULL; import static org.jooq.impl.JSONOnNull.NULL_ON_NULL; @@ -121,7 +122,9 @@ implements JSONArrayAggOrderByStep { // TODO: What about a user-defined filter clause? if (onNull == ABSENT_ON_NULL) - acceptFilterClause(ctx, arguments.get(0).isNotNull()); + acceptFilterClause(ctx, (filter == null ? noCondition() : filter).and(arguments.get(0).isNotNull())); + else + acceptFilterClause(ctx); break;