Github user StephanEwen commented on the pull request:

    https://github.com/apache/flink/pull/311#issuecomment-70421463
  
    Look good. The test coverage is massive - very good for a delicate concept 
like this :-)
    
    One remaining issue is the naming of the methods/concepts and how they are 
exposed in the APIs.
    
     - I personally liked it better the way it was before. For example, binary 
operators returned `DualInputSematicProperties` and the methods were 
`getForwardedFieldsFirst(int field)`. That looked more intuitive for API users 
than operating on the interface `SemanticProperties` and using 
`getTargetFields(input, position)`.
    
     - The backwards access (get source field for target field) is relevant 
only in the optimizer, correct?
    Is there some way to expose that to th eoptimizer only? It makes the public 
API more confusing.
    
     - Is it necessary to have the extra methods 
`hasFieldForwardInformation()`? This again makes it more complicated to use. 
Can we not simply have a null entry for fields that have no forward information?


---
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