diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 6bb7756bbf..5a43438249 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -28974,18 +28974,6 @@ public class DSL { /** * Get the aggregated concatenation for a field. - *
- * This is natively supported by {@link SQLDialect#ORACLE11G} upwards. It is - * emulated by the following dialects: - *
GROUP_CONCATXMLAGG()GROUP_CONCAT()GROUP_CONCAT()GROUP_CONCAT()STRING_AGG()LIST()- * This is natively supported by {@link SQLDialect#ORACLE11G} upwards. It is - * emulated by the following dialects: - *
GROUP_CONCATXMLAGG()GROUP_CONCATGROUP_CONCATGROUP_CONCATSTRING_AGG()LIST()diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index 310b2d4a30..7e97b9fbcb 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -231,6 +231,7 @@ import static org.jooq.impl.DSL.length; // ... import static org.jooq.impl.DSL.list; import static org.jooq.impl.DSL.listAgg; +import static org.jooq.impl.DSL.listAggDistinct; import static org.jooq.impl.DSL.ln; import static org.jooq.impl.DSL.log; import static org.jooq.impl.DSL.log10; @@ -11885,13 +11886,13 @@ final class DefaultParseContext extends AbstractScope implements ParseContext { if (parseFunctionNameIf("LISTAGG")) { parse('('); - parseKeywordIf("ALL"); + boolean distinct = parseSetQuantifier(); Field> field = parseField(); if (parseIf(',')) - ordered = listAgg(field, parseStringLiteral()); + ordered = distinct ? listAggDistinct(field, parseStringLiteral()) : listAgg(field, parseStringLiteral()); else - ordered = listAgg(field); + ordered = distinct ? listAggDistinct(field) : listAgg(field); parse(')'); }