[
https://issues.apache.org/jira/browse/FLINK-7144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17323629#comment-17323629
]
Flink Jira Bot commented on FLINK-7144:
---------------------------------------
This issue is assigned but has not received an update in 7 days so it has been
labeled "stale-assigned". If you are still working on the issue, please give an
update and remove the label. If you are no longer working on the issue, please
unassign so someone else may work on it. In 7 days the issue will be
automatically unassigned.
> Optimize multiple LogicalAggregate into one
> -------------------------------------------
>
> Key: FLINK-7144
> URL: https://issues.apache.org/jira/browse/FLINK-7144
> Project: Flink
> Issue Type: Improvement
> Components: Table SQL / Legacy Planner
> Reporter: Jark Wu
> Assignee: Rong Rong
> Priority: Major
> Labels: stale-assigned
>
> When applying multiple GROUP BY, and no aggregates or expression in the first
> GROUP BY, and the second GROUP fields is a subset of first GROUP fields.
> Then the first GROUP BY can be removed.
> Such as the following SQL ,
> {code}
> SELECT a FROM (SELECT a,b,c FROM MyTable GROUP BY a, b, c) GROUP BY a
> {code}
> should be optimized into
> {code}
> DataStreamGroupAggregate(groupBy=[a], select=[a])
> DataStreamCalc(select=[a])
> DataStreamScan(table=[[_DataStreamTable_0]])
> {code}
> but get:
> {code}
> DataStreamGroupAggregate(groupBy=[a], select=[a])
> DataStreamCalc(select=[a])
> DataStreamGroupAggregate(groupBy=[a, b, c], select=[a, b, c])
> DataStreamScan(table=[[_DataStreamTable_0]])
> {code}
> I looked for the Calcite built-in rules, but can't find a match one. So maybe
> we should implement one , and maybe we should implement it in Calcite.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)