> For instance, it thinks Join(A, B, $0=$1) and Join(A, B, $1=$0) are different 
> joins, however, they are equivalent.

How is the alternative generated? I would rather check how to stop generating 
this alternative than reordering predicates. 

- Haisheng

------------------------------------------------------------------
发件人:Vladimir Sitnikov<[email protected]>
日 期:2019年12月30日 15:04:25
收件人:Apache Calcite dev list<[email protected]>
主 题:Re: [DISCUSS] CALCITE-2450 reorder predicates to a canonical form

Danny>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 improves JdbcTest#testJoinManyWay 2 times or so.

master.
JdbcTest#testJoinManyWay: 5.8sec
https://travis-ci.org/apache/calcite/jobs/630602718#L1646

with normalization fix:
JdbcTest#testJoinManyWay: 3.1sec
https://travis-ci.org/apache/calcite/jobs/630719276#L1432

The fix is vital for the proper support of EnumerableMergeJoin as well.
If EnumerableMergeJoin is activated, then JdbcTest#testJoinManyWay can't
complete within 5 minutes (see PR 1702)

Vladimir

Reply via email to