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

Haisheng Yuan commented on CALCITE-4071:
----------------------------------------

For backward compatibility. I would really like to step further to completely 
make RelNode immutable. If we agree on that goal, we'd better just remove the 
{{replaceInput}} method definition in RelNode interface, instead of deprecating 
it, let the compiler error out and fail fast, in case there is any down stream 
projects using {{replaceInput}}.

> Make RelNode Immutable
> ----------------------
>
>                 Key: CALCITE-4071
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4071
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Haisheng Yuan
>            Priority: Major
>
> Currently, RelNode is mutable, mainly in planner. That makes planner code 
> error-prone, hard to maintain, and complicate the logic. Let's try to avoid 
> using {{replaceInput}}, at least inside planner, and see if we can deprecate 
> {{replaceInput}}. That will make planner more robust.



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

Reply via email to