You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Phillip Cloud (JIRA)" <ji...@apache.org> on 2017/10/28 17:30:00 UTC

[jira] [Created] (ARROW-1749) [C++] Handle Min and Max Decimal128 values

Phillip Cloud created ARROW-1749:
------------------------------------

             Summary: [C++] Handle Min and Max Decimal128 values
                 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)