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
>

Reply via email to