> We do not normalize RexNodes, thus it results in excessive planning time,
> especially when the planner is trying to reorder joins.
> For instance, it thinks Join(A, B, $0=$1) and Join(A, B, $1=$0) are
> different joins, however, they are equivalent.

How much cases are there in production ? This example itself seems very 
marginalized. I’m not against with it, I’m suspicious about the value of the 
feature.

> It turned out "b" (sort operands in computeDigest) is easier to implement.
> I've filed a PR: https://github.com/apache/calcite/pull/1703

I’m strongly -1 for this way, because it beaks the plan test where almost all 
of the change are meaningless.



Best,
Danny Chan
在 2019年12月30日 +0800 AM3:09,[email protected],写道:
>
> We do not normalize RexNodes, thus it results in excessive planning time,
> especially when the planner is trying to reorder joins.
> For instance, it thinks Join(A, B, $0=$1) and Join(A, B, $1=$0) are
> different joins, however, they are equivalent.

Reply via email to