Github user fhueske commented on the pull request:

    https://github.com/apache/flink/pull/1138#issuecomment-142723198
  
    Hi @jkovacs, thanks for all your efforts to make the projection work. Going 
for a `GenericeTypeInfo` would work in many cases but unfortunately not in all. 
For example `union` operates in Flink on serialization level and requires that 
all data sets which are unioned use the same serializer. By transparently using 
a `GenericTypeInfo` users might be surprised why 
`DataSet<Tuple2<String,Long>.union(DataSet<Tuple2<String,Long>)` does not work. 
If we only support OuterJoins with an explicit JoinFunction, the user has full 
control how to deal with null values and can even use a custom Tuple type or 
Tuple serializer (via `Operator.returns()`) that supports null values. In my 
opinion, the best approach is to only support OuterJoins with JoinFunctions.


---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to