Ian Bertolacci created CALCITE-6499:
---------------------------------------
Summary: Deep Clone SqlNodes
Key: CALCITE-6499
URL: https://issues.apache.org/jira/browse/CALCITE-6499
Project: Calcite
Issue Type: Improvement
Reporter: Ian Bertolacci
SqlNode.clone is not guaranteed to produce a deep clone.
For example, [SqlBasicCall.clone
|https://github.com/apache/calcite/blob/main/core/src/main/java/org/apache/calcite/sql/SqlBasicCall.java#L130-L132]
does not clone the operands, so any in-place modifications of an node at or
under the operands is observed in the "cloned" node.
There use to be
[SqlValidatorUtil.DeepCopier|https://calcite.apache.org/javadocAggregate/org/apache/calcite/sql/validate/SqlValidatorUtil.DeepCopier.html]
but that is now deprecated (and its constructor is inaccessible anyways)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)