Re: [HACKERS] to_char() dumps core - Mailing list pgsql-patches

From Karel Zak
Subject Re: [HACKERS] to_char() dumps core
Date
Msg-id Pine.LNX.3.96.1001020191601.13898A-101000@ara.zf.jcu.cz
Whole thread Raw
Responses Re: Re: [HACKERS] to_char() dumps core  (Bruce Momjian <pgman@candle.pha.pa.us>)
Re: Re: [HACKERS] to_char() dumps core  (Tatsuo Ishii <t-ishii@sra.co.jp>)
Re: Re: [HACKERS] to_char() dumps core  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-patches
On Fri, 20 Oct 2000, Karel Zak wrote:

>
> On Fri, 20 Oct 2000, Tatsuo Ishii wrote:
>
> > In 7.0.2
> >
> >    select to_char(sum(n),'999') from t1;
> >
> > causes backend dump a core if n is a float/numeric ...data type AND if
> > sum(n) returns NULL. This seems due to a bad null pointer handling for
> > aruguments of pass-by-reference data types.  I think just a simple
> > null pointer checking at very top of each function (for example
> > float4_to_char()) would solve the problem.  Comments?
>
>  In the 7.1devel it's correct, but here it's bug, IMHO it bear on changes
> in the 7.1's fmgr, because code is same in both versions for this. On Monday,
> I try fix it for 7.0.3

 Not, monday .. just now :-)

 The patch is attached... Bruce, it's again to 7.0.3!

 Thanks for bug report

            Karel


test=# create table t1 (f4 float4, f8 float8, n numeric, i4 int4, i8 int8);
CREATE
test=# select to_char(sum(f4), '9'), to_char(sum(f8), '9'), to_char(sum(n),
'9'), to_char(sum(i4), '9'), to_char(sum(i8), '9') from t1;
 to_char | to_char | to_char | to_char | to_char
---------+---------+---------+---------+---------
         |         |         |         |
(1 row)



Attachment

pgsql-patches by date:

Previous
From: Marko Kreen
Date:
Subject: Re: contrib/pgcrypto
Next
From: Bruce Momjian
Date:
Subject: Re: Re: [HACKERS] to_char() dumps core