diff --git a/jOOQ/src/main/java/org/jooq/impl/JSONArrayAgg.java b/jOOQ/src/main/java/org/jooq/impl/JSONArrayAgg.java index fd021fc7ba..ffecbad239 100644 --- a/jOOQ/src/main/java/org/jooq/impl/JSONArrayAgg.java +++ b/jOOQ/src/main/java/org/jooq/impl/JSONArrayAgg.java @@ -178,16 +178,17 @@ implements acceptOverClause(ctx); break; - case CLICKHOUSE: + case CLICKHOUSE: { + Field agg = arrayAggEmulation(distinct, arguments.get(0), withinGroupOrderBy); + ctx.visit(N_toJSONString).sql('(').visit( - apply( - arrayAggEmulation(distinct, arguments.get(0), withinGroupOrderBy), - a -> arguments.get(0).getDataType().isJSON() - ? a.cast(JSON.array()) - : a - ) + arguments.get(0).getDataType().isJSON() + ? agg.cast(JSON.array()) + : agg ).sql(')'); + break; + } case SQLITE: ctx.visit(N_JSON_GROUP_ARRAY).sql('(');