[ https://issues.apache.org/jira/browse/CALCITE-4071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17139888#comment-17139888 ]
Julian Hyde commented on CALCITE-4071: -------------------------------------- [~hyuan] I would love to move further towards immutability. Can you describe the reasons why {{replaceInput}} is still necessary? Note that {{RelSubset}} is mutable and needs to remain so. > 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)