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

hailong wang commented on FLINK-20386:
--------------------------------------

Yes, currently we just validate between the QUERY Schema and the DDL Schema.

It is better to have a validation between the ddl and he actual schema for the 
data store.

I think it is a common problem for all connectors including source or sink. 
It's just more obvious in the mysql Connector for the unsigned type.

If we can get the hbase schema before starting the job, we can also add a check 
for hbase connector.

> ClassCastException when lookup join a JDBC table on INT UNSIGNED column
> -----------------------------------------------------------------------
>
>                 Key: FLINK-20386
>                 URL: https://issues.apache.org/jira/browse/FLINK-20386
>             Project: Flink
>          Issue Type: Bug
>          Components: Connectors / JDBC, Table SQL / Ecosystem
>    Affects Versions: 1.12.0, 1.11.2
>            Reporter: Jark Wu
>            Priority: Major
>
> The primary key of the MySQL is an INT UNSIGNED column, but declared INT in 
> Flink. 
> I know the 
> [docs|https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/connectors/jdbc.html#data-type-mapping]
>  say it should be decalred BIGINT in Flink, however, would be better not fail 
> the job. 
> At least, the exception is hard to understand for users. We can also check 
> the schema before start the job. 
> {code}
> java.lang.ClassCastException: java.lang.Long cannot be cast to 
> java.lang.Integer
>       at 
> org.apache.flink.table.data.GenericRowData.getInt(GenericRowData.java:149) 
> ~[flink-table-blink_2.11-1.11-vvr-2.1.1-SNAPSHOT.jar:1.11-vvr-2.1.1-SNAPSHOT]
>       at JoinTableFuncCollector$6460.collect(Unknown Source) ~[?:?]
>       at 
> org.apache.flink.table.functions.TableFunction.collect(TableFunction.java:203)
>  ~[flink-table-blink_2.11-1.11-vvr-2.1.1-SNAPSHOT.jar:1.11-vvr-2.1.1-SNAPSHOT]
>       at 
> org.apache.flink.connector.jdbc.table.JdbcRowDataLookupFunction.eval(JdbcRowDataLookupFunction.java:162)
>  ~[?:?]
> {code}



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

Reply via email to