You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Dawid Wysakowicz (Jira)" <ji...@apache.org> on 2024/06/25 13:50:00 UTC
[jira] [Assigned] (FLINK-35696) JSON_VALUE/QUERY functions incorrectly map floating numbers
[ https://issues.apache.org/jira/browse/FLINK-35696?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dawid Wysakowicz reassigned FLINK-35696:
----------------------------------------
Assignee: Dawid Wysakowicz
> JSON_VALUE/QUERY functions incorrectly map floating numbers
> -----------------------------------------------------------
>
> Key: FLINK-35696
> URL: https://issues.apache.org/jira/browse/FLINK-35696
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Runtime
> Affects Versions: 1.19.1
> Reporter: Dawid Wysakowicz
> Assignee: Dawid Wysakowicz
> Priority: Major
> Fix For: 1.20.0
>
>
> {code}
> SELECT JSON_VALUE('{"bigNumber":123456789.987654321}', '$.bigNumber')
> {code}
> produces
> {code}
> "1.2345678998765433E8"
> {code}
> which can not be mapped back. It gets rounded.
> The reason is we use {{double}} for floats in {{SqlJsonUtils}}. We should rather configure {{jackson}} to use {{BigDecimals}}. In order to do that we need to properly shade {{jayway}} though.
> I suggest we:
> 1. Add {{com.jayway.jsonpath:son-path}} to {{flink-shaded}}
> 2. We use the shaded library and pass a configured mapper which maps floats to {{BigDecimal}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)