You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Ruben Q L (Jira)" <ji...@apache.org> on 2020/08/10 15:04:00 UTC
[jira] [Commented] (CALCITE-3916) Support cascades style top-down
driven rule apply
[ https://issues.apache.org/jira/browse/CALCITE-3916?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17174374#comment-17174374 ]
Ruben Q L commented on CALCITE-3916:
------------------------------------
[~FatLittle], [~hyuan], FYI, I have a prototype with TopDown activated, and recently I updated it and this change causes a {{ClassCastException}} here:
https://github.com/apache/calcite/blob/aadb605decd6bb6a853e23fac4b0f479b2397e06/core/src/main/java/org/apache/calcite/plan/volcano/TopDownRuleDriver.java#L548
with message:
{code}
...
Caused by: java.lang.ClassCastException: MyTableScanOperator cannot be cast to com.onwbp.org.apache.calcite.plan.volcano.RelSubset
at com.onwbp.org.apache.calcite.plan.volcano.TopDownRuleDriver.getOptimizeInputTask(TopDownRuleDriver.java:548)
...
{code}
Does it make sense, or maybe I am doing something wrong in my prototype? (I do not know if I can reproduce the situation with a unit test in Calcite)
> Support cascades style top-down driven rule apply
> -------------------------------------------------
>
> Key: CALCITE-3916
> URL: https://issues.apache.org/jira/browse/CALCITE-3916
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: Haisheng Yuan
> Assignee: Jinpeng Wu
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.24.0
>
> Time Spent: 15.5h
> Remaining Estimate: 0h
>
> Apply rules by leaf RelSet -> root RelSet order. For every RelNode in a RelSet, rule is matched and applied sequentially. No RuleQueue and DeferringRuleCall is needed anymore. This will make space pruning and rule mutual exclusivity check possible.
> Rule that use AbstractConverter as operand is an exception, to keep backward compatibility, this kind of rule still needs top-down apply.
> This should be done after CALCITE-3896.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)