[
https://issues.apache.org/jira/browse/CALCITE-5089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17520888#comment-17520888
]
yanjing.wang commented on CALCITE-5089:
---------------------------------------
Thanks [~julianhyde] , I ever wanted to add a new element to the group list to
represent the DISTINCT keyword, but it seems that will cause the DISTINCT will
be in one line with actual group list when converting SqlNode to sql string,
also it may cause the code to read strangely.
{quote}GROUP BY ALL should be unparsed as GROUP BY
{quote}
Do you mean the SqlNode 'GROUP BY ALL' will be parsed to 'GROUP BY'? It seems
reasonable, but I don't know if we should help to reduce the 'ALL'.
{quote}AST GROUP_BY_DISTINCT (CUBE (a, b), ROLLUP (b, c))
{quote}
Good idea, I will have a try.
> 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)