You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey Mashenkov (Jira)" <ji...@apache.org> on 2021/04/06 11:11:00 UTC

[jira] [Updated] (IGNITE-13668) Implement Number(n) and Decimal native types

     [ https://issues.apache.org/jira/browse/IGNITE-13668?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrey Mashenkov updated IGNITE-13668:
--------------------------------------
    Description: 
Let's extend native support for Numeric types.
* Number( n ) is an {{n}}-bytes two-complement integer signed value encoded in the varlong style 
(so that Number(4) can be mapped to integer and Number(8) can be mapped to long during (de)serialization). 
* Larger numbers can be represented as {{BigInteger}}.
* The Number( n ) is a varlen type, so it will take two additional bytes in the varlen table, so types smaller than Number(4) are better represented by {{byte}} and {{short}} and {{int}} types as their fixlen encoding takes exactly 1, 2, 4 bytes respectively.
* Decimal is a direct mapping to BigDecimal value.

  was:
Number( n ) is an {{n}}-bytes two-complement integer signed value encoded in the varlong style (so that Number(4) can be mapped to integer and Number(8) can be mapped to long during (de)serialization). Larger numbers can be represented as {{BigInteger}}. The Number( n ) is a varlen type, so it will take two additional bytes in the varlen table, so types smaller than Number(2) are better represented by {{byte}} and {{short}} types as their fixlen encoding takes exactly 1 and 2 bytes respectively.

Decimal is a direct mapping to BigDecimal value.


> Implement Number(n) and Decimal native types
> --------------------------------------------
>
>                 Key: IGNITE-13668
>                 URL: https://issues.apache.org/jira/browse/IGNITE-13668
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexey Goncharuk
>            Priority: Major
>              Labels: iep-54, ignite-3
>
> Let's extend native support for Numeric types.
> * Number( n ) is an {{n}}-bytes two-complement integer signed value encoded in the varlong style 
> (so that Number(4) can be mapped to integer and Number(8) can be mapped to long during (de)serialization). 
> * Larger numbers can be represented as {{BigInteger}}.
> * The Number( n ) is a varlen type, so it will take two additional bytes in the varlen table, so types smaller than Number(4) are better represented by {{byte}} and {{short}} and {{int}} types as their fixlen encoding takes exactly 1, 2, 4 bytes respectively.
> * Decimal is a direct mapping to BigDecimal value.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)