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/03/09 23:28:00 UTC

[jira] [Resolved] (CALCITE-3753) Remove rulematch ordering and execute substitution rule first

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

Haisheng Yuan resolved CALCITE-3753.
------------------------------------
    Fix Version/s: 1.23.0
       Resolution: Fixed

Fixed in https://github.com/apache/calcite/commit/80e6b023d4b92b2b25908c52e10f50792787cef8 and https://github.com/apache/calcite/commit/15fa9bc67a8ed12ec6b8e0d1dbced8760ae307ab.

> Remove rulematch ordering and execute substitution rule first
> -------------------------------------------------------------
>
>                 Key: CALCITE-3753
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3753
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Haisheng Yuan
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.23.0
>
>         Attachments: image-2020-01-27-20-27-57-957.png
>
>          Time Spent: 9h 40m
>  Remaining Estimate: 0h
>
> 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)