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

Roman Kondakov commented on CALCITE-3753:
-----------------------------------------

[~hyuan], may be you have a "big picture" road map to improve current 
VolcanoPlanner?

I can see two areas of work:
 * Solving a bunch of problems you mentioned on 
[devlist|https://lists.apache.org/thread.html/r63cdea13e18789fe3bf73a8507cd7318d8396e0b3516a2e991cdddb7%40%3Cdev.calcite.apache.org%3E]
 (like trait propagation and others).
 * Moving towards Cascades style optimization with aggressive search space 
pruning.

IMO these problems should be should be addressed simultaneously with a general 
volcano planner overhaul. It would be great if we come to the some sort of 
consensus about it.

> 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
>         Attachments: image-2020-01-27-20-27-57-957.png
>
>
> 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)

Reply via email to