[jOOQ/jOOQ#10089] Fix native PG JSON_OBJECT_AGG window function support
This commit is contained in:
parent
c0e63ae2f7
commit
a444521fba
@ -92,6 +92,10 @@ implements JSONObjectAggNullStep<J> {
|
||||
|
||||
|
||||
|
||||
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<J> {
|
||||
|
||||
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;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user