protected static void applyTransitiveEquivalence ( List < AbstractExpression > outerTableExprs , List < AbstractExpression > innerTableExprs , List < AbstractExpression > innerOuterTableExprs ) { List < AbstractExpression > simplifiedOuterExprs = applyTransitiveEquivalence ( innerTableExprs , innerOuterTableExprs ) ; List < AbstractExpression > simplifiedInnerExprs = applyTransitiveEquivalence ( outerTableExprs , innerOuterTableExprs ) ; outerTableExprs . addAll ( simplifiedOuterExprs ) ; innerTableExprs . addAll ( simplifiedInnerExprs ) ; }
Apply implied transitive constant filter to join expressions outer . partkey = ? and outer . partkey = inner . partkey is equivalent to outer . partkey = ? and inner . partkey = ?