[
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)