Normalization sounds useful but I would prefer to keep it optional and separate from the RexNode classes (another RexNode visitor?).
There are various use cases where people rely on the structure of the plan to do things and I am afraid that if we always apply the normalization we will break many projects. For instance, all projects that have unit tests that verify the structure of the plan (via string comparisons or visitors) may need to be updated. Best, Stamatis On Mon, Dec 30, 2019, 11:40 AM Vladimir Sitnikov < [email protected]> wrote: > Danny>almost all of the plan change are meaningless > > What do you mean by meaningless? > The purpose of the change is to improve planning time, and to improve plan > stability. > > Danny>and the execution graph is very probably relevant with the > state/storage, if we breaks them, the state also crashed > > Can you please elaborate? > Calcite users must not depend on the string representation of RexNodes. > > Vladimir >
