[
https://issues.apache.org/jira/browse/CALCITE-3428?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16956355#comment-16956355
]
Julian Hyde commented on CALCITE-3428:
--------------------------------------
Can you make it more efficient when there are no constants or no pulled-up
predicates? A lot of bit sets and lists are rebuilt for no reason.
{{deduceConstantColumnsFromPredicates}} needs an explanation.
> Refine RelMdColumnUniqueness for Filter by considering constant columns
> -----------------------------------------------------------------------
>
> Key: CALCITE-3428
> URL: https://issues.apache.org/jira/browse/CALCITE-3428
> Project: Calcite
> Issue Type: Improvement
> Reporter: jin xing
> Assignee: jin xing
> Priority: Major
> Labels: pull-request-available
> Time Spent: 40m
> Remaining Estimate: 0h
>
> AggregateRemoveRule fails to remove the top Aggregate for below SQL
> {code:java}
> select mgr, sum(sum_sal)
> from
> (select mgr, deptno, sum(sal) sum_sal
> from sales.emp
> group by mgr, deptno)
> where deptno=100
> group by mgr
> {code}
> The reason is that RelMdColumnUniqueness doesn't take the filtering condition
> into consideration when checking uniqueness of columns.
> This PR proposes to refine RelMdColumnUniqueness for Filter, thus to
> strengthen AggregateRemoveRule.
> Resolving this Jira will help a lot for CALCITE-3334 by removing the
> redundant compensation Aggregate when doing materialization matching
--
This message was sent by Atlassian Jira
(v8.3.4#803005)