[
https://issues.apache.org/jira/browse/CALCITE-791?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Hyde updated CALCITE-791:
--------------------------------
Fix Version/s: next
> Optimize pushFilterPastProject
> ------------------------------
>
> Key: CALCITE-791
> URL: https://issues.apache.org/jira/browse/CALCITE-791
> Project: Calcite
> Issue Type: Bug
> Reporter: Julian Hyde
> Assignee: Julian Hyde
> Fix For: next
>
>
> The method RelOptUtil.pushFilterPastProject is called many times, in
> particular from stats methods getDistinctRowCount(Project, ImmutableBitSet,
> RexNode) and getSelectivity(Project, RexNode). It works by creating two
> RexPrograms and then merging them, which is inefficient, especially for
> simple, common cases where the project is the identity or a permutation of
> the input fields.
> We need to use a simpler approach than merging RexPrograms, either always, or
> at least in the common cases. The benefit will be reduced gc pressure.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)