[jOOQ/jOOQ#11238] PostgreSQL FILTER clause does not work on

JSON_ARRAYAGG() functions
This commit is contained in:
Lukas Eder 2021-02-19 10:36:02 +01:00
parent e37fe1c087
commit 832173fef9

View File

@ -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<J> {
// 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;