Github user wuchong commented on the issue:

    https://github.com/apache/flink/pull/3039
  
    Hi @mushketyk , thanks for the updating. 
    
    Regarding to the `TableSource` , currently, there are 8 `TableSource` 
interfaces provided to users including trait and abstract class. It is a little 
hard to choose which one to use to implement a custom table source. What about 
to implement `TableSource` as abstract class and provide default implementation 
for `getFieldNames()` and `getFieldsIndices()`. And provide three other 
abstract class : `BatchTableSource` (with `getDataSet` interface) , 
`StreamTableSource` (with `getDataStream` interface) and 
`BatchStreamTableSource` (with both interfaces), they all extend `TableSource`. 
In this way, we only provide 4 classes to user, the implementers should extend 
one of the latter three abstract class. 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