> 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
