drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kunal Khatua (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-5159) ProjectMergeRule in Drill should operate on RelNodes with same convention trait.
Date Wed, 29 Mar 2017 00:23:41 GMT

    [ https://issues.apache.org/jira/browse/DRILL-5159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15946277#comment-15946277

Kunal Khatua commented on DRILL-5159:

[~rkins] Please close the bug when you have tests automated .

> ProjectMergeRule in Drill should operate on RelNodes with same convention trait.
> --------------------------------------------------------------------------------
>                 Key: DRILL-5159
>                 URL: https://issues.apache.org/jira/browse/DRILL-5159
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Query Planning & Optimization
>            Reporter: Jinfeng Ni
>            Assignee: Jinfeng Ni
>              Labels: ready-to-commit
>             Fix For: 1.10.0
> Drill extended version of  Calcite's ProjectMergeRule is used in a VolcanoPlanner where
RelNodes with different convention could match with this rule. 
> For instance, we could see this rule could be invoked when a DrillProject on top of a
LogicalProject. Also, since the output RelNode is built from the default Project RelFactory,
such rule execution could end up with a LogicalProject.
> {code}
> DrillProject                transform          
> \                                  ===>               LogicalProject
> LogicalProject
> {code}
> This leads to un-necessary rule execution, or in certain case could lead to an infinite
> The proposed fix is to check matched RelNodes to make sure that they do have Calcite
Logical convention. That way, both inputs and output of this rule would have same convention
trait.  This should reduce planning time, and avoid the possiblity of loop.

This message was sent by Atlassian JIRA

View raw message