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

Leonard Xu edited comment on FLINK-17948 at 6/3/20, 6:40 AM:
-------------------------------------------------------------

The precision lost happened in Sql client rather than JDBC connector, JDBC 
connector works fine.
 We used deprecated Schema#toRowType method to obtain a 
[serializer|https://github.com/apache/flink/blob/master/flink-table/flink-sql-client/src/main/java/org/apache/flink/table/client/gateway/local/result/MaterializedCollectBatchResult.java#L65)]
 which ignored the precision information.

I think this could be an improvement or bug fix for sql-client.

CC: [~TsReaper] [~godfreyhe]

 


was (Author: leonard xu):
The precision lost happened in Sql client rather JDBC connector, JDBC connector 
works fine.
 We used deprecated Schema#toRowType method to obtain a 
[serializer|https://github.com/apache/flink/blob/master/flink-table/flink-sql-client/src/main/java/org/apache/flink/table/client/gateway/local/result/MaterializedCollectBatchResult.java#L65)]
 which ignored the precision information.

I think this could be an improvement or bug fix for sql-client.

CC: [~TsReaper] [~godfreyhe]

 

> Sql client lost precision for Timestamp and Decimal Data type
> -------------------------------------------------------------
>
>                 Key: FLINK-17948
>                 URL: https://issues.apache.org/jira/browse/FLINK-17948
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Client
>    Affects Versions: 1.11.0
>         Environment: mysql:
>  image: mysql:8.0
>  volumes:
>  - ./mysql/mktable.sql:/docker-entrypoint-initdb.d/mktable.sql
>  environment:
>  MYSQL_ROOT_PASSWORD: 123456
>  ports:
>  - "3306:3306"
>            Reporter: Shengkai Fang
>            Priority: Major
>             Fix For: 1.11.0
>
>         Attachments: image-2020-05-26-22-56-43-835.png, 
> image-2020-05-26-22-58-02-326.png
>
>
> My job is following:
>  
> {code:java}
> CREATE TABLE currency (
>   currency_id BIGINT,
>   currency_name STRING,
>   rate DOUBLE,
>   currency_timestamp  TIMESTAMP,
>   country STRING,
>   precise_timestamp TIMESTAMP(6),
>   precise_time TIME(6),
>   gdp DECIMAL(10, 6)
> ) WITH (
>    'connector' = 'jdbc',
>    'url' = 'jdbc:mysql://localhost:3306/flink',
>    'username' = 'root',
>    'password' = '123456',
>    'table-name' = 'currency',
>    'driver' = 'com.mysql.jdbc.Driver',
>    'lookup.cache.max-rows' = '500',
>    'lookup.cache.ttl' = '10s',
>    'lookup.max-retries' = '3')
> {code}
> When select * from currency, the precision of results are not as same as 
> expected.  The precision of field precise_timestamp is 3 not 6, and the 
> field gdp has more digit as expected. 
>  
> !image-2020-05-26-22-56-43-835.png!
> The data in mysql is following:
> !image-2020-05-26-22-58-02-326.png!



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

Reply via email to