[ 
https://issues.apache.org/jira/browse/FLINK-18378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17140501#comment-17140501
 ] 

Nicholas Jiang commented on FLINK-18378:
----------------------------------------

I have interest to fix the instance check of CatalogTable as follows:
{code:java}
private CatalogBaseTable resolveTableSchema(CatalogBaseTable table) {
   if (!(table instanceof CatalogTable)) {
     return table;
  }
  CatalogTableImpl catalogTableImpl = (CatalogTableImpl) table;
  TableSchema newTableSchema =   
schemaResolver.resolve(catalogTableImpl.getSchema());
  return catalogTableImpl.copy(newTableSchema);
}{code}
If my understanding is right, could I fix this?

> CatalogManager checks for CatalogTableImpl instead of CatalogTable
> ------------------------------------------------------------------
>
>                 Key: FLINK-18378
>                 URL: https://issues.apache.org/jira/browse/FLINK-18378
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner
>    Affects Versions: 1.11.0
>            Reporter: Fabian Hueske
>            Priority: Major
>             Fix For: 1.11.0
>
>
> The {{CatalogManager}} checks for {{CatalogTableImpl}} instead of 
> {{CatalogTable}} to decide whether to resolve the table schema. See 
> https://github.com/apache/flink/blob/release-1.11/flink-table/flink-table-api-java/src/main/java/org/apache/flink/table/catalog/CatalogManager.java#L369
> Resolving the table schema adjusts the type of fields which are referenced by 
> watermarks, i.e., changes their type from {{TIMESTAMP(3)}} to {{TIMESTAMP(3) 
> ROWTIME}}. If table schema is not properly resolved some queries involving 
> time attributes will fail during type validation.
> However, {{CatalogTableImpl}} is an internal implementation of the public 
> {{CatalogTable}} interface. Hence, external {{Catalog}} implementations will 
> not work with {{CatalogTableImpl}} but rather {{CatalogTable}} and hence 
> might fail to work correctly with queries that involve event-time attributes.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to