[ 
https://issues.apache.org/jira/browse/CALCITE-791?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Hyde resolved CALCITE-791.
---------------------------------
       Resolution: Fixed
    Fix Version/s:     (was: next)
                   1.4.0-incubating

Fixed in 
http://git-wip-us.apache.org/repos/asf/incubator-calcite/commit/c9fe32b7.

> 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: 1.4.0-incubating
>
>
> 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)

Reply via email to