Edward Zhang created KYLIN-1457:
-----------------------------------
Summary: BigDecimalSerializer should use precision to check out of
range
Key: KYLIN-1457
URL: https://issues.apache.org/jira/browse/KYLIN-1457
Project: Kylin
Issue Type: Bug
Affects Versions: Future
Reporter: Edward Zhang
Assignee: Edward Zhang
Priority: Minor
Fix For: Future
It is not correct to use length of byte array to judge if a value is out of
range
byte[] bytes = value.unscaledValue().toByteArray();
if (bytes.length + 2 > maxLength) {
throw new IllegalArgumentException("'" + value + "' exceeds the
expected length for type " + type);
}
Because length of byte array is not exactly 1 byte per 2 decimal digits.
Instead we should use precision to decide if the value is out of range
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)