pl/pgsql breakage in 8.1b4?

From: Philip Yarra <philip(at)utiba(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: pl/pgsql breakage in 8.1b4?
Date: 2005-10-28 02:32:15
Message-ID: 200510281232.16050.philip@utiba.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Just testing pl/pgsql functions in 8.1beta4, I see failures for syntax that
works in 8.0.3. The simplest test case for this is:

create table ptest(foo int, bar varchar(10));
create or replace function modify_ptest(
foo int,
bar varchar)
returns numeric as $$
declare
res numeric;
begin
update ptest
set bar = modify_ptest.bar
where foo = modify_ptest.foo;
res := 0;
return res;
end;
$$ LANGUAGE plpgsql;

The error message from psql is:

ERROR: syntax error at or near "$1" at character 19
QUERY: update ptest set $1 = modify_ptest.bar where $2 = modify_ptest.foo
CONTEXT: SQL statement in PL/PgSQL function "modify_ptest" near line 7
LINE 1: update ptest set $1 = modify_ptest.bar where $2 = modify...
^

I assume what I'm trying should still work, though I couldn't find comparable
examples in the doco. Looks to me like a problem with parameter aliasing.

Regards, Philip.

-----------------
Utiba Pty Ltd
This message has been scanned for viruses and
dangerous content by Utiba mail server and is
believed to be clean.

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2005-10-28 02:34:57 Re: enums
Previous Message Mark Kirkwood 2005-10-28 02:28:01 Re: TODO Item - Add system view to show free space map