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

Leonard Xu commented on FLINK-17657:
------------------------------------

[~zhanglun] Thanks for the report, it's a bug from type mapping between  mysql 
and flink sql type exists in JDBC connector.

the root cause is that bigint unsigned range is {{0}} to 
{{18446744073709551615, }}{{bigint rang is }}{{-9223372036854775808}}{{ to 
}}{{9223372036854775807}}{{. so we cannot map a bigint unsigned to bigint(flink 
bigint has same range with mysql bigint)}}.

[~JinxinTang] 's work around[1] is read String  rather read the original 
BigInteger(jdbc treats bigint unsigned as java.math.BigInteger).

[1][https://github.com/TJX2014/flink/blob/master-flink17657-jdbc-bigint/flink-examples/flink-examples-batch/src/main/java/org/apache/flink/examples/java/jdbc/JdbcReader.java#L49]

> jdbc not support read BIGINT UNSIGNED field
> -------------------------------------------
>
>                 Key: FLINK-17657
>                 URL: https://issues.apache.org/jira/browse/FLINK-17657
>             Project: Flink
>          Issue Type: Bug
>          Components: Connectors / JDBC, Table SQL / Client
>    Affects Versions: 1.10.0, 1.10.1
>            Reporter: lun zhang
>            Priority: Major
>         Attachments: env.yaml, excetion.txt
>
>
> I use sql client read mysql table, but I found I can't read a table contain 
> `BIGINT UNSIGNED` field. It will 
>  Caused by: java.lang.ClassCastException: java.math.BigInteger cannot be cast 
> to java.lang.Long
>  
> MySQL table:
>  
> create table tb
>  (
>  id BIGINT UNSIGNED auto_increment 
>  primary key,
>  cooper BIGINT(19) null ,
> user_sex VARCHAR(2) null 
> );
>  
> my env yaml is env.yaml .



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

Reply via email to