[
https://issues.apache.org/jira/browse/FLINK-25434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francesco Guardiani closed FLINK-25434.
---------------------------------------
Resolution: Duplicate
Closed as it's duplicate of FLINK-24420 and FLINK-24847
> Throw an error when BigDecimal precision overflows.
> ---------------------------------------------------
>
> Key: FLINK-25434
> URL: https://issues.apache.org/jira/browse/FLINK-25434
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Planner, Table SQL / Runtime
> Affects Versions: 1.14.2
> Reporter: Ada Wong
> Priority: Major
>
>
> Lost a lot of data but no error was thrown.
> As the following comment, If the precision overflows, null will be returned.
> {code:java}
> /**
> If the precision overflows, null will be returned.
> */
> public static @Nullable DecimalData fromBigDecimal(BigDecimal bd, int
> precision, int scale) {
> bd = bd.setScale(scale, RoundingMode.HALF_UP);
> if (bd.precision() > precision) {
> return null;
> }
> long longVal = -1;
> if (precision <= MAX_COMPACT_PRECISION) {
> longVal = bd.movePointRight(scale).longValueExact();
> }
> return new DecimalData(precision, scale, longVal, bd);
> } {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)