Julian Hyde created CALCITE-791:
-----------------------------------

             Summary: 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


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