Re: Numeric 508 datatype - Mailing list pgsql-patches

From Michael Fuhr
Subject Re: Numeric 508 datatype
Date
Msg-id 20051202220423.GA35126@winnie.fuhr.org
Whole thread Raw
In response to Re: Numeric 508 datatype  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Numeric 508 datatype
List pgsql-patches
On Fri, Dec 02, 2005 at 04:30:54PM -0500, Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Wow, check this out:
> >     test=> SELECT CAST (pow(10::numeric, 10000) + 1 AS TEXT)
> > It works fine!  I have all the digits, and the trailing 1.0:
> >     000001.0000000000000000
> > while SELECT pow(10::numeric, 10000) fails.
>
> That's just about as wacky as can be, because numeric_text() is
> implemented on top of numeric_out() ... there's no way that numeric_out
> can be delivering the wrong answer if the cast produces the right text.
> So somewhere between numeric_out and the delivery to the client,
> something's getting confused.  I think it's time you got out your
> debugger and started tracing through the backend ...

Bruce, have you run a process trace on the backend to see if write()
(or whatever) is writing the correct number of characters?  What
exactly is your output device and how are you connected to the
machine that runs the backend (ssh to a remote box from an xterm,
sitting in front of the box's VT52 serial console, etc.)?

If you run the query that fails in a standalone backend, do you get
something like "(typeid = 1700, len = -1, typmod = -1, byval = f)"
at the end of the line, or is that part truncated too?

--
Michael Fuhr

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: Numeric 508 datatype
Next
From: Bruce Momjian
Date:
Subject: Re: Numeric 508 datatype