Re: Problems with plpgsql and FOR loops

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bill Moran <wmoran(at)potentialtech(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Problems with plpgsql and FOR loops
Date: 2004-02-21 00:24:02
Message-ID: 7971.1077323042@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Bill Moran <wmoran(at)potentialtech(dot)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:

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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bill Moran 2004-02-21 00:33:25 Re: Problems with plpgsql and FOR loops
Previous Message Chris Browne 2004-02-20 23:33:25 Re: embeding postgreSQL