You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "hailong wang (Jira)" <ji...@apache.org> on 2020/02/04 14:20:00 UTC
[jira] [Comment Edited] (FLINK-15677) TableSource#explainSource
should return the field names from getProducedDataType instead of
getTableSchema
[ https://issues.apache.org/jira/browse/FLINK-15677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17028938#comment-17028938 ]
hailong wang edited comment on FLINK-15677 at 2/4/20 2:19 PM:
--------------------------------------------------------------
Thanks [~lzljs3620320]. Sorry for the late reply. I found we can use
DataTypeUtils.expandCompositeTypeToSchema to extract physical Schema, and getFieldNames from it, just like:
{code:java}
DataType producedDataType = getProducedDataType(); TableSchema physicalSchema; if (LogicalTypeChecks.isCompositeType(producedDataType.getLogicalType())) { physicalSchema = DataTypeUtils.expandCompositeTypeToSchema(getProducedDataType()); } else { //if producedDataType is simple type, we use default name f0 physicalSchema = TableSchema.builder().field("f0", producedDataType).build(); } return TableConnectorUtils.generateRuntimeName(getClass(), physicalSchema.getFieldNames());
{code}
what do you think of it?
was (Author: hailong wang):
Thanks [~lzljs3620320]. Sorry for the late reply. I found we can use
DataTypeUtils.expandCompositeTypeToSchema to extract physical Schema, and getFieldNames from it, just like:
{code:java}
TableSchema physicalSchema = DataTypeUtils.expandCompositeTypeToSchema(getProducedDataType());
return TableConnectorUtils.generateRuntimeName(getClass(), physicalSchema.getFieldNames());
{code}
what do you think of it?
As for the test, there is already test for DataTypeUtils.expandCompositeTypeToSchema method, so we can not add a test.
> TableSource#explainSource should return the field names from getProducedDataType instead of getTableSchema
> ----------------------------------------------------------------------------------------------------------
>
> Key: FLINK-15677
> URL: https://issues.apache.org/jira/browse/FLINK-15677
> Project: Flink
> Issue Type: Improvement
> Components: Table SQL / Planner
> Affects Versions: 1.10.0
> Reporter: hailong wang
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.11.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> For the fields push down, the final fieldNames of tablesource are not consistent with FieldNames from TableSchema. So we should return the field names from getProducedDataType instead of getTableSchema.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)