Re: [BUG] PostgreSQL 7.0.3 backend dumps core. - Mailing list pgsql-bugs

From Tom Lane
Subject Re: [BUG] PostgreSQL 7.0.3 backend dumps core.
Date
Msg-id 15000.975424972@sss.pgh.pa.us
Whole thread Raw
In response to [BUG] PostgreSQL 7.0.3 backend dumps core.  (Alan Turner <alan@suburbia.com.au>)
List pgsql-bugs
Alan Turner <alan@suburbia.com.au> writes:
> test=# CREATE FUNCTION "f2" ( ) RETURNS magic AS '
> test'#         DECLARE
> test'#                 x RECORD;
> test'#         BEGIN
> test'#                 x.one := 1;
> test'#                 x.two := 2;
> test'#                 RETURN x;
> test'#         END;
> test'# ' LANGUAGE 'plpgsql';
> CREATE
> test=# select f2();
> pqReadData() -- backend closed the channel unexpectedly.

I think this coding should be rejected, but evidently it's not.  My
understanding of "record" in plpgsql is that it's just a placeholder
name for a tuple type determined elsewhere.  In this situation the
exact type of x is never determined, and so you shouldn't be able to
assign to fields of x.  Ooops.

In the meantime, it might work if you declare "x magic" instead of
"x record".

            regards, tom lane

pgsql-bugs by date:

Previous
From: Alan Turner
Date:
Subject: [BUG] PostgreSQL 7.0.3 backend dumps core.
Next
From: Karla Peralta
Date:
Subject: Re: PortalHeapMemoryFree...in diskless client