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

Jacques Nadeau resolved DRILL-261.
----------------------------------

    Resolution: Fixed

> Implement support for DECIMAL type
> ----------------------------------
>
>                 Key: DRILL-261
>                 URL: https://issues.apache.org/jira/browse/DRILL-261
>             Project: Apache Drill
>          Issue Type: Task
>            Reporter: Ben Becker
>
> Many functions and operators in Drill need to handle decimal types.  This may 
> mean two formats; an expanded format for use during processing, and a compact 
> format for efficient representation on disk.
> Postgres' compact (on-disk) format for the decimal types NumericShort and 
> NumericLong generally fit into a 64 bits:
> {noformat}
> 1 bit for sign
> 6 bits for scale  in NumericShort; 16 bits in NumericLong
> 7 bits for weight in NumericShort; 16 bits in NumericLong
> 16 bits for the digits
> {noformat}
> The expanded (in-memory) format in Postgres is defined in {{numeric.c}} as 
> follows:
> {noformat}
> typedef struct NumericVar
> {
>       int ndigits;    /* # of digits in digits[] - can be 0! */
>       int weight;     /* weight of first digit */
>       int sign;       /* NUMERIC_POS, NUMERIC_NEG, or NUMERIC_NAN */
>       int dscale;     /* display scale */
>       NumericDigit *buf;      /* start of palloc'd space for digits[] */
>       NumericDigit *digits;   /* base-NBASE digits */
> } NumericVar;
> {noformat}
> Additional notes and links to related published papers are in the 
> aforementioned source file.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to