You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2015/07/21 08:05:04 UTC

[jira] [Updated] (CALCITE-791) Optimize pushFilterPastProject

     [ 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)