[
https://issues.apache.org/jira/browse/CALCITE-4461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17264068#comment-17264068
]
Vladimir Ozerov commented on CALCITE-4461:
------------------------------------------
[~rubenql] no worries, I reformulated JavaDoc. I hope, now it should be clear
that by default rules are applied to logical nodes still, but there is an
option to change this behavior if needed.
> Do not cast to logical node inside Enumerable rules
> ---------------------------------------------------
>
> Key: CALCITE-4461
> URL: https://issues.apache.org/jira/browse/CALCITE-4461
> Project: Calcite
> Issue Type: Task
> Components: core
> Affects Versions: 1.26.0
> Reporter: Vladimir Ozerov
> Assignee: Vladimir Ozerov
> Priority: Minor
> Labels: pull-request-available
> Fix For: 1.27.0
>
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> Currently, some {{Enumerable}} rules work with the base operator classes,
> such as {{Join}}, while others have an explicit cast to {{Logical}}
> counterparts, such as `LogicalJoin`, {{LogicalProject}}, etc. This makes it
> impossible to convert custom non-logical nodes into {{Enumerable}} using the
> built-in rules because such an invocation will fail with a
> {{ClassCastException}}.
> The proposal is to change all existing rules so that they work with the base
> {{RelNode}} classes.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)