You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Phillip Cloud (JIRA)" <ji...@apache.org> on 2017/10/28 17:30:00 UTC
[jira] [Updated] (ARROW-1749) [C++] Handle range of Decimal128
values that require 39 digits to be displayed
[ 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)