From d5d7c02d50d2fff676967d05be32ca44d10ad40e Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 16 Dec 2021 09:43:03 +0100 Subject: [PATCH] [jOOQ/jOOQ#12742] Fix also SQL Server STRING_AGG --- jOOQ/src/main/java/org/jooq/impl/ListAgg.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/ListAgg.java b/jOOQ/src/main/java/org/jooq/impl/ListAgg.java index 3115242c41..0b1578e2c5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ListAgg.java +++ b/jOOQ/src/main/java/org/jooq/impl/ListAgg.java @@ -59,6 +59,7 @@ import static org.jooq.SQLDialect.SQLITE; // ... // ... import static org.jooq.SQLDialect.YUGABYTE; +import static org.jooq.impl.DSL.inline; import static org.jooq.impl.DSL.query; import static org.jooq.impl.DSL.sql; import static org.jooq.impl.Keywords.K_DISTINCT; @@ -69,6 +70,7 @@ import static org.jooq.impl.Names.N_LISTAGG; import static org.jooq.impl.Names.N_STRING_AGG; import static org.jooq.impl.Names.N_XMLSERIALIZE; import static org.jooq.impl.Names.N_XMLTEXT; +import static org.jooq.impl.QueryPartListView.wrap; import static org.jooq.impl.SQLDataType.VARCHAR; import static org.jooq.impl.SQLDataType.XML; import static org.jooq.impl.Tools.appendSQL; @@ -199,16 +201,13 @@ final class ListAgg extends AbstractAggregateFunction implements UNotYet ctx.sql('('); - if (distinct) - ctx.visit(K_DISTINCT).sql(' '); - // The explicit cast is needed in Postgres - ctx.visit(castIfNeeded((Field) arguments.get(0), String.class)); + QueryPartListView> args = wrap( + castIfNeeded((Field) arguments.get(0), String.class), + arguments.size() > 1 ? arguments.get(1) : inline("") + ); - if (arguments.size() > 1) - ctx.sql(", ").visit(arguments.get(1)); - else - ctx.sql(", ''"); + acceptArguments1(ctx, args);