Github user lincoln-lil commented on the issue:

    https://github.com/apache/flink/pull/3141
  
    @fhueske when I add more test cases for "outer joins" with local 
predicates, I found different limitations between tableAPI and SQL, e.g., 
"SELECT c, g FROM Table3 left outer join Table5 on a = d AND e < 3" is valid, 
but dsFromTuple3.leftOuterJoin(dsFromTuple5, 'a === 'd && 'e < 3) is invalid, 
because validation in Join node sees original join predicates and validates 
simply, while in DataSetJoinRule the join predicates could be pruned according 
to the equivalence in relational algebra. 
    I have a question, should we keep the tableAPI consistent with SQL? If so, 
the validation in tableAPI will be much more complex, and it reminds me the 
previous discussion about validation either in one or two places.  Or just 
maintain the current implementation unchanged, because we will add support for 
both FLINK-5498 and FLINK-5511 soon, then these differences will be eliminated.
    What do you think ?



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to