Github user mushketyk commented on the issue:
https://github.com/apache/flink/pull/3039
Hi @wuchong
>> And provide three other abstract class : BatchTableSource (with
getDataSet interface) , StreamTableSource (with getDataStream interface) and
BatchStreamTableSource (with both interfaces), they all extend TableSource
I thought about this, but in this case we won't be able to use an instance
of `BatchStreamTableSource` where an instance of `BatchTableSource` or
`StreamTableSource` is expected. Which seems to make `BatchStreamTableSource`
abstract class useless.
I believe that we should be able to use `BatchStreamTableSource` where
either `TableSource`, `BatchTableSource` or `StreamTableSource` is expected and
this requires to use multiple inheritance which is only possible with traits.
But since we want to provide partial implementations of these types I've add
several abstract class for users to inherit from.
I see the issue with current approach, but I am not sure how to simplify it
to achieve all required goals. Would better documentation do the trick?
---
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.
---