From 571dc579f69647740b30fe727714e93c52f202e6 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 14 Feb 2020 10:54:56 +0100 Subject: [PATCH] [jOOQ/jOOQ#9840] Remove DSL.groupingId() from jOOQ Open Source Edition, as no OSS dialect supports it --- jOOQ/src/main/java/org/jooq/impl/DSL.java | 43 ++++++++++--------- .../main/java/org/jooq/impl/ParserImpl.java | 13 +++--- 2 files changed, 30 insertions(+), 26 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/DSL.java b/jOOQ/src/main/java/org/jooq/impl/DSL.java index 3af4a70b8f..abd45ac113 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DSL.java +++ b/jOOQ/src/main/java/org/jooq/impl/DSL.java @@ -16708,6 +16708,28 @@ public class DSL { + + + + + + + + + + + + + + + + + + + + + + /** * Create a GROUPING(field) aggregation field to be used along with * CUBE, ROLLUP, and GROUPING SETS @@ -16732,27 +16754,6 @@ public class DSL { return function("grouping", Integer.class, field); } - /** - * Create a GROUPING_ID(field1, field2, .., fieldn) aggregation field to be - * used along with CUBE, ROLLUP, and - * GROUPING SETS groupings. - *

- * This has been observed to work with the following databases: - *

- * - * @param fields The function arguments - * @return The GROUPING_ID aggregation field - * @see #cube(Field...) - * @see #rollup(Field...) - */ - @Support({ }) - public static Field groupingId(Field... fields) { - return function("grouping_id", Integer.class, fields); - } - // ------------------------------------------------------------------------ // XXX Bitwise operations // ------------------------------------------------------------------------ diff --git a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java index a91e5c0b99..aebed70ba9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParserImpl.java @@ -6843,12 +6843,15 @@ final class ParserImpl implements Parser { } private static final Field parseFieldGroupingIdIf(ParserContext ctx) { - if (parseFunctionNameIf(ctx, "GROUPING_ID")) { - parse(ctx, '('); - List> fields = parseFields(ctx); - parse(ctx, ')'); + if (parseFunctionNameIf(ctx, "GROUPING_ID") && ctx.requireProEdition()) { + + + + + + + - return groupingId(fields.toArray(EMPTY_FIELD)); } return null;