[
https://issues.apache.org/jira/browse/CALCITE-7534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated CALCITE-7534:
------------------------------------
Labels: pull-request-available (was: )
> Support GROUPING SETS, CUBE and ROLLUP in materialized view aggregate rule
> rewriting
> ------------------------------------------------------------------------------------
>
> Key: CALCITE-7534
> URL: https://issues.apache.org/jira/browse/CALCITE-7534
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.41.0
> Reporter: Yu Xu
> Assignee: Yu Xu
> Priority: Major
> Labels: pull-request-available
>
> The {{MaterializedViewAggregateRule}} in Calcite previously *did not support
> rewriting queries against materialized views that contained {{GROUPING
> SETS}}* (such as {{CUBE}} or {{{}ROLLUP{}}}). Specifically:
> There was an explicit check that {*}rejected any aggregate with a
> non-{{{}SIMPLE{}}} group type{*}, causing the rule to bail out immediately
> with a TODO comment:
> {code:java}
> // TODO: Rewriting with grouping sets not supported yet
> if (aggregate.getGroupType() != Aggregate.Group.SIMPLE) {
> return false;
> } {code}
> As a result, even if a materialized view was defined with grouping sets
> (e.g., GROUP BY CUBE(a, b)), queries against it could never benefit from
> materialized view rewriting, regardless of whether the query itself used
> grouping sets or a simple GROUP BY. This significantly limited the
> applicability of materialized view optimizations for real-world analytic
> workloads where grouping sets are common.
> Currently, any *CUBE/ROLLUP/GROUPING SETS* should be abandoned for
> optimization.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)