[
https://issues.apache.org/jira/browse/FLINK-5280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15804300#comment-15804300
]
ASF GitHub Bot commented on FLINK-5280:
---------------------------------------
Github user fhueske commented on the issue:
https://github.com/apache/flink/pull/3039
Which `getTypeIndicies` methods are you referring to? `TableSource` does
only have `getReturnType`, `getFieldNames` and `getFieldIndicies`. If we move
the latter two to a separate interface, only `getReturnType` is left.
Also I think this is typical OO design. We do not need reflection to check
if an object implements an interface. That's a very common operation in Java
and Scala. A simple, `isInstanceOf[DefinesFieldNames]` in `TableSourceTable` is
sufficient to check whether the table source implements the interface or not.
Isn't this a good compromise of having a lean interface (also simple for
Java users) and at the same time the possibility to override field names if
necessary?
> Extend TableSource to support nested data
> -----------------------------------------
>
> Key: FLINK-5280
> URL: https://issues.apache.org/jira/browse/FLINK-5280
> Project: Flink
> Issue Type: Improvement
> Components: Table API & SQL
> Affects Versions: 1.2.0
> Reporter: Fabian Hueske
> Assignee: Ivan Mushketyk
>
> The {{TableSource}} interface does currently only support the definition of
> flat rows.
> However, there are several storage formats for nested data that should be
> supported such as Avro, Json, Parquet, and Orc. The Table API and SQL can
> also natively handle nested rows.
> The {{TableSource}} interface and the code to register table sources in
> Calcite's schema need to be extended to support nested data.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)