Received: from sss.sss.pgh.pa.us (sss.pgh.pa.us [209.114.166.2]) by hub.org (8.9.3/8.9.3) with ESMTP id LAA69399 for ; Sun, 19 Sep 1999 11:32:05 -0400 (EDT) (envelope-from tgl@sss.pgh.pa.us) Received: from sss.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.sss.pgh.pa.us (8.9.1/8.9.1) with ESMTP id LAA27328; Sun, 19 Sep 1999 11:31:25 -0400 (EDT) To: Mark Lillywhite cc: pgsql-interfaces@postgreSQL.org Subject: Re: [INTERFACES] JDBC: BigDecimal and Money confusion In-reply-to: Your message of Sun, 19 Sep 1999 21:38:03 +1000 <37E4CB1B.DE31D6B7@plasticsoftware.com.au> Date: Sun, 19 Sep 1999 11:31:24 -0400 Message-ID: <27326.937755084@sss.pgh.pa.us> From: Tom Lane Mark Lillywhite writes: > Can someone tell me how DECIMAL/NUMERICs are stored? Is there > somewhere I should look to find out? The end-user docs are a bit > vague. Use the source, Luke ;-) src/include/utils/numeric.h and src/backend/utils/adt/numeric.c are probably the files to look in. IIRC from comments that Jan made, it's a pretty brain-dead representation right now; one decimal digit per byte or something like that. He was going to improve it to a base-10000-digit-per-short format for speed reasons. Also, I think that there's currently a difference between the on-disk format and the calculational in-memory format, which would be nice to get rid of. We haven't heard from Jan in a while, so I dunno when or if he's going to get around to that; if you'd like to tackle it instead, go for it... regards, tom lane