Personally I would prefer to display the expression as what users write.
But I agree with Haisheng.

Maybe we can add an optimizer config option to enable/disable this feature.


Best,
Chunwei


On Tue, Dec 31, 2019 at 9:50 AM Haisheng Yuan <[email protected]>
wrote:

> Normalizing scalar expressions is helpful, especially for deduplicating
> derived constraints that is pushed down to child relations. We should not
> stop making improvements just because there are many plan changes.
>
> How about adding optimizer config option to enable/disable the feature?
>
> Normalizing every binary operator might seem not necessary, but simply
> normalizing equal expression with input refs or literals alone can still
> help a lot, I guess, because many of them are generated from equivalent
> classes.
>
> - Haisheng
>
> ------------------------------------------------------------------
> 发件人:Rui Wang<[email protected]>
> 日 期:2019年12月31日 07:09:44
> 收件人:<[email protected]>
> 主 题:Re: [DISCUSS] CALCITE-2450 reorder predicates to a canonical form
>
> I think the concern of breaking plan comparison has appeared more than
> once. Not only to this proposal but also to others (e.g. replace "$" with
> "_" in names).
>
> From a think of another perspective, the widely used practice of
> string comparison based plan evaluation also reduces the flexibility of
> making changes in Calcite. We need to carefully think about if a change has
> a large impact that affects toString(), or something similar.
>
> So if Calcite community could offer another solution for downstream
> projects, and announce that don't guarantee the backward compatibility of
> toString(), then it could be in a better situation.
>
> A few candidate solutions:
> 1. offer utils that convert a plan represented in string to Relnodes.
> 2. use RelBuilder to build plans and does comparison.
>
> and then just maintain the backward compatibility of the solution.
>
> just my two cents.
>
>
> -Rui
>
>
> On Mon, Dec 30, 2019 at 12:20 PM Vladimir Sitnikov <
> [email protected]> wrote:
>
> > The change improves slow tests from 80 min to 60, and the changes are
> > minimal
> >
> > Vladimir
> >
>
>

Reply via email to