[ https://issues.apache.org/jira/browse/FLINK-5280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15769556#comment-15769556 ]
Ivan Mushketyk commented on FLINK-5280: --------------------------------------- Hi [~fhueske] Thank you for the great and detailed proposal. It all makes sense. One question that came to my mind while I was working on it. Would it be better to leave all current methods in the *TableSource* interface and simply implement them using the return type. Something like: {code} trait TableSource[T] { /** Returns the number of fields of the table. */ final def getNumberOfFields: Int = { getReturnType.getTotalFields } /** Returns the names of the table fields. */ final def getFieldsNames: Array[String] = { getReturnType match { case c: CompositeType[T] => c.getFieldNames } } /** Returns the types of the table fields. */ final def getFieldTypes: Array[TypeInformation[_]] = { getReturnType match { case c: CompositeType[T] => 0.until(c.getTotalFields).map(c.getTypeAt(_)).toArray } } /** Returns the [[TypeInformation]] for the return type of the [[TableSource]]. */ def getReturnType: TypeInformation[T] } {code} I think there are two benefits: * No need to change existing code * We can put all the utility methods for *TableSource* in *TableSource* trait Would do you think about this? > 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)