[
https://issues.apache.org/jira/browse/ARROW-1749?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Phillip Cloud updated ARROW-1749:
---------------------------------
Summary: [C++] Handle range of Decimal128 values that require 39 digits to
be displayed (was: [C++] Handle Min and Max Decimal128 values)
> [C++] Handle range of Decimal128 values that require 39 digits to be displayed
> ------------------------------------------------------------------------------
>
> Key: ARROW-1749
> URL: https://issues.apache.org/jira/browse/ARROW-1749
> Project: Apache Arrow
> Issue Type: Bug
> Components: C++
> Affects Versions: 0.7.1
> Reporter: Phillip Cloud
> Assignee: Phillip Cloud
> Fix For: 0.8.0
>
>
> {{2 ** 127 - 1}} and {{-2 ** 127}} both require a 39th digit to be displayed
> as a decimal string.
> This means we do not have the ability to _display_ decimal values above {{10
> ** 38 - 1}} even though we have the ability to _store_ them.
> For reference, Impala returns {{NULL}} when trying to cast {{2 ** 127 - 1}}
> to {{DECIMAL(38, 0)}}.
> A few next steps are in order:
> # Explicitly test this behavior
> # Avoid crashing or displaying garbage when we cannot display a number that
> can be stored
> # Make a decision about whether we want to eventually support range of values
> from {{10 ** 38}} to {{2 ** 127 - 1}} positive and {{-2 ** 127}} to {{-10 **
> 38}} negative. This would require a larger integer type to hold the value
> just before being converted to a string.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)