> things might be bad if we want do dedup RexNode children using
Set<RexNode>

I guess it is exactly the action RexSimplify does currently :-/
https://github.com/apache/calcite/blob/3fb68f6c22a7bcbc4cb1fff114bc911b1e31c4de/core/src/main/java/org/apache/calcite/rex/RexSimplify.java#L1377-L1380

>The Join operator e.g. innerjoin(S, R) generated by join reordering is not
equivalent with the original join innerjoin(R, S),

I might be wrong, however, I did see "< vs >" normalization to reduce the
search space. I added the normalization performance rather than aesthetics
reasons.

Note: innerjoin(S, S) does appear in practice, and it might benefit from <
vs >

Vladimir

Reply via email to