Re: Numeric 508 datatype

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: Numeric 508 datatype
Дата
Msg-id 20051202220423.GA35126@winnie.fuhr.org
обсуждение исходный текст
Ответ на Re: Numeric 508 datatype  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Numeric 508 datatype  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Numeric 508 datatype
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Numeric 508 datatype