Github user fhueske commented on the issue:

    https://github.com/apache/flink/pull/2810
  
    This is a good question @tonycox. First of all, we need to agree on the 
semantics of the `ProjectableTableSource.setProjection()` method. IMO, the 
table source must return a `DataSet` (or `DataStream`) with the fields in the 
order requested by `setProjection()`. If the `InputFormat` (or 
`SourceFunction`) is not able to control the order of fields, the table source 
needs to add a `MapFunction` to fix the order. This would happen in 
`BatchTableSource.getDataSet()` (or `StreamTableSource.getDataStream()` and 
hence be opaque to Calcite and not involve a `LogicalCalc`.
    
    From a performance point of view I agree with @wuchong that it would be 
good to have correct records produced by the `RowCsvInputFormat`. However, I 
would see this as a "nice to have" feature. If you do not want to include it, 
it would be nice if you could open a JIRA to address this issue at some later 
point in time.


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