Re: Problems with plpgsql and FOR loops - Mailing list pgsql-general

From Bill Moran
Subject Re: Problems with plpgsql and FOR loops
Date
Msg-id 4036A755.9040004@potentialtech.com
Whole thread Raw
In response to Re: Problems with plpgsql and FOR loops  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Tom Lane wrote:
> Bill Moran <wmoran@potentialtech.com> writes:
>
>>Some of the plpgsql functions I've created work fine on 7.4, but
>>fail on 7.3.4.  Specifically, when I use a "FOR var IN select LOOP"
>>loop with a LONG select statement, it works fine on 7.4, but
>>bonks with "missing .. at end of SQL expression" in 7.3.4
>
> That error message suggests that plpgsql thinks the "var" is not
> declared as a record or rowtype variable.  I think you should look
> to the variable declaration as the source of the issue, not the FOR
> statement itself.  There were some 7.4 fixes associated with
> plpgsql rowtype variables, for instance this one:

Ahh ... this is an interesting twist.

In the cases where I'm having problems, I'm defining a custom type
with CREATE TYPE, because it's the easiest way I can think of to
move the data around.

Assuming:

CREATE TYPE testtype AS ...

Are you suggesting that:

rval testtype%ROWTYPE;

is likely to work around the problem?  So far, I've just been
using:

rval testtype;

I'll test this to see what happens.

> 2003-04-27 18:21  tgl
>
>     * doc/src/sgml/plpgsql.sgml, src/pl/plpgsql/src/gram.y,
>     src/pl/plpgsql/src/pl_comp.c, src/pl/plpgsql/src/plpgsql.h: Fix
>     plpgsql so that variables of composite types (rowtypes) can be
>     declared without having to write %ROWTYPE.  If the declared type of
>     a variable is a composite type, it'll be taken to be a row variable
>     automatically.
>
> although my recollection is that without %ROWTYPE, 7.3 plpgsql would
> fail on the variable declaration.
>
>             regards, tom lane
>


--
Bill Moran
Potential Technologies
http://www.potentialtech.com


pgsql-general by date:

Previous
From: "scott.marlowe"
Date:
Subject: Re: finding out actual tuple size
Next
From: Tom Lane
Date:
Subject: Re: finding out actual tuple size