diff --git a/jOOQ/src/main/java/org/jooq/impl/JSONObjectAgg.java b/jOOQ/src/main/java/org/jooq/impl/JSONObjectAgg.java index d052ec58c6..72d5ae213a 100644 --- a/jOOQ/src/main/java/org/jooq/impl/JSONObjectAgg.java +++ b/jOOQ/src/main/java/org/jooq/impl/JSONObjectAgg.java @@ -92,6 +92,10 @@ implements JSONObjectAggNullStep { + case POSTGRES: + acceptPostgres(ctx); + break; + // [#10089] These dialects support non-standard JSON_OBJECTAGG without ABSENT ON NULL support case MARIADB: case MYSQL: @@ -102,23 +106,24 @@ implements JSONObjectAggNullStep { break; - case POSTGRES: - ctx.visit(getDataType() == JSON ? N_JSON_OBJECT_AGG : N_JSONB_OBJECT_AGG).sql('('); - ctx.visit(entry); - ctx.sql(')'); - - // TODO: What about a user-defined filter clause? - if (nullClause == ABSENT_ON_NULL) - acceptFilterClause(ctx, entry.value().isNotNull()); - - break; - default: acceptStandard(ctx); break; } } + private final void acceptPostgres(Context ctx) { + ctx.visit(getDataType() == JSON ? N_JSON_OBJECT_AGG : N_JSONB_OBJECT_AGG).sql('('); + ctx.visit(entry); + ctx.sql(')'); + + // TODO: What about a user-defined filter clause? + if (nullClause == ABSENT_ON_NULL) + acceptFilterClause(ctx, entry.value().isNotNull()); + + acceptOverClause(ctx); + } + @SuppressWarnings({ "unchecked", "rawtypes", "serial" }) private final void acceptGroupConcat(Context ctx) { Field value;