Re: Why not working under 8.3 - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Why not working under 8.3
Date
Msg-id 1271681374.4753751236183723433.JavaMail.root@sz0030a.emeryville.ca.mail.comcast.net
Whole thread Raw
In response to Re: Why not working under 8.3  (Adrian Klaver <aklaver@comcast.net>)
Responses Re: Why not working under 8.3  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
----- "Adrian Klaver" <aklaver@comcast.net> wrote:

> ----- "Andreas Moeller" <a.moeller@teia.de> wrote:
>
> > Following lines produce an error message under 8.3. - but not under
> > 8.1.
> > Why?
> >
> > CREATE OR REPLACE FUNCTION dodi() RETURNS boolean AS
> > $$
> > BEGIN
> > SELECT 'abc' INTO TEMPORARY foonana;
> > RETURN FALSE;
> > END;
> > $$
> > LANGUAGE 'plpgsql';
> >
> >
> > FEHLER: syntax error at "TEMPORARY"
> > DETAIL: Expected record variable, row variable, or list of scalar
> > variables following INTO.
> > CONTEXT: compile of PL/pgSQL function "dodi" near line 2
> >
> > ********** Fehler **********
> >
> > FEHLER: syntax error at "TEMPORARY"
> > SQL Status:42601
> > Detail:Expected record variable, row variable, or list of scalar
> > variables following INTO.
> > Kontext:compile of PL/pgSQL function "dodi" near line 2
>
> Are you sure this worked in 8.1? SELECT INTO in plpgsql needs to point
> to a variable as noted by the error message. You need to declare a
> variable.
>
> --

Out of curiosity I went back to 8.0 and ran the function and got:
production=> SELECT dodi();
WARNING:  column "?column?" has type "unknown"
DETAIL:  Proceeding with relation creation anyway.
CONTEXT:  SQL statement "SELECT  'abc' INTO  TEMPORARY foonana"
PL/pgSQL function "dodi" line 2 at SQL statement
 dodi
------
 f
(1 row)

Seems it ignores the unknown type and returns the False value. Type casting has been tightened up in 8.3, so this
qualifiesas an error now. 

Adrian Klaver
aklaver@comcast.net




pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Why not working under 8.3
Next
From: Tom Lane
Date:
Subject: Re: Why not working under 8.3