JoinCommuteRule swaps the inputs of a join. It relies on an internal class VariableReplacer to update the references in the join condition. However, this class does not extend RexShuttle and ends up ignoring some of the references, e.g., those in RexFieldAccess.
- links to