Re: reducing NUMERIC size for 9.1 - Mailing list pgsql-hackers

From Robert Haas
Subject Re: reducing NUMERIC size for 9.1
Date
Msg-id AANLkTinKngSbVfqKi=BG2KHHYSRs6NuyDeoHuVacEo1O@mail.gmail.com
Whole thread Raw
In response to Re: reducing NUMERIC size for 9.1  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: reducing NUMERIC size for 9.1
List pgsql-hackers
On Thu, Jul 29, 2010 at 5:03 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> OK.  I think you're misinterpreting the point of that comment, which
>> may mean that it needs some clarification.  By "the two byte header
>> format is also used", I think I really meant "the header (and in fact
>> the entire value) is just 2 bytes".  Really, the low order bits have
>> neither the old interpretation nor the new interpretation: they don't
>> have any interpretation at all - they're completely meaningless.
>> That's what the part after the word "but" was intended to clarify.
>> Every routine in numeric.c checks for NUMERIC_IS_NAN() and gives it
>> some special handling before doing anything else, so NUMERIC_WEIGHT()
>> and NUMERIC_DSCALE() are never called in that case.
>
> I would suggest the comment ought to read something like
>
>        NaN values also use a two-byte header (in fact, the
>        whole value is always only two bytes).  The low order bits of
>        the header word are available to store dscale, though dscale
>        is not currently used with NaNs.

I can do something along those lines, though I'm reluctant to mention
dscale specifically since we have no agreement that such a thing makes
sense, or is the only/best use for those bits.  Did you look at the
patch to move the numeric stuff out of the .h file that I attached a
few emails back?  If that looks OK, I can commit it and then redo the
rest of this along the lines we've discussed.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: reducing NUMERIC size for 9.1
Next
From: Vincenzo Romano
Date:
Subject: Re: On Scalability