[
https://issues.apache.org/jira/browse/CALCITE-5089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17520530#comment-17520530
]
Julian Hyde commented on CALCITE-5089:
--------------------------------------
I quickly reviewed the PR.
* Don’t add tests to JdbcTest.
* I’m not sure SqlGroupBy is necessary. We could add a new element to the
group list to represent the DISTINCT keyword, if present. That will be lower
impact.
* need to document changes to our syntax in the SQL reference.
> Allow GROUP BY ALL or DISTINCT set quantifier on GROUPING SETS
> --------------------------------------------------------------
>
> Key: CALCITE-5089
> URL: https://issues.apache.org/jira/browse/CALCITE-5089
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.30.0
> Environment: jdk8
> Reporter: yanjing.wang
> Assignee: yanjing.wang
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.31.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> GROUP BY DISTINCT will be used to remove duplicate GROUPING SETS, for example:
> {code:java}
> SELECT product_id, product_class_id, count(*) from product GROUP BY DISTINCT
> CUBE (product_id, product_class_id), ROLLUP (product_id,
> product_class_id){code}
> it's equivalent to
> {code:java}
> SELECT product_id, product_class_id, count(*) from product GROUP BY GROUPING
> SETS ((product_id, product_class_id), (product_id), (product_class_id), ())
> {code}
> GROUP BY ALL will remain the duplicate GROUPING SETS, it's equivalent to
> GROUP BY, so most databases use ALL as the default set quantifier.
> As far as I know the PostgreSQL and Trino support this syntax.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)