You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Haisheng Yuan (Jira)" <ji...@apache.org> on 2020/01/22 23:21:00 UTC

[jira] [Comment Edited] (CALCITE-3753) Always try to match and execute substitution rule first and remove rulematch ordering

    [ https://issues.apache.org/jira/browse/CALCITE-3753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17021615#comment-17021615 ] 

Haisheng Yuan edited comment on CALCITE-3753 at 1/22/20 11:20 PM:
------------------------------------------------------------------

I was not clear. I suggest for substitution rule matches, we can execute them immediately. But for other rules, we still need a rule queue to queue up the matches so that we don't run stack overflow.


was (Author: hyuan):
I was not clear. I suggest for substitution rule matches, we can execute them immediately. But other rules, we still need a rule queue to queue up the matches so that we don't run stack overflow.

> Always try to match and execute substitution rule first and remove rulematch ordering
> -------------------------------------------------------------------------------------
>
>                 Key: CALCITE-3753
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3753
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Haisheng Yuan
>            Priority: Major
>
> In VolcanoPlanner, some rules e.g. ProjectMergeRule, PruneEmptyRule can be defined as SubstitutionRule, so that we can always try to match and execute them first (without deferring rule call). All the other rulematches doesn't need to be sorted and rules can be executed in any order they matched, since we are going to execute all of them anyway, sooner or later. Computing and comparing importances cause a lot of latency.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)