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