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.
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 |