pgsql-server/src/pl/plpgsql/src pl_comp.c

From: momjian(at)svr1(dot)postgresql(dot)org (Bruce Momjian)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql-server/src/pl/plpgsql/src pl_comp.c
Date: 2003-07-26 23:58:24
Message-ID: 20030726235824.AC463D1C931@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

CVSROOT: /cvsroot
Module name: pgsql-server
Changes by: momjian(at)svr1(dot)postgresql(dot)org 03/07/26 20:58:24

Modified files:
src/pl/plpgsql/src: pl_comp.c

Log message:
>>You can alias $0, similar to the argument variables. And, I confirmed
>>that you cannot change the value, similar to the argument variables:
>
> Perhaps you shouldn't mark it isconst; then it would actually have some
> usefulness (you could use it directly as a temporary variable to hold
> the intended result). I can't see much value in aliasing it if it's
> const, either.

OK; the only change in this version is "isconst = false;". Now you can
use $0 as a result placeholder if desired. E.g.:

create or replace function tmp(anyelement, anyelement) returns anyarray as '
declare
v_ret alias for $0;
v_el1 alias for $1;
v_el2 alias for $2;
begin
v_ret := ARRAY[v_el1, v_el2];
return v_ret;
end;
' language 'plpgsql';

create table f(f1 text, f2 text, f3 int, f4 int);
insert into f values ('a','b',1,2);
insert into f values ('z','x',3,4);

select tmp(f1,f2) from f;
select tmp(f3,f4) from f;

Joe Conway

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2003-07-27 03:13:20 pgsql-server/src/test/regress expected/foreign ...
Previous Message Bruce Momjian 2003-07-26 20:42:57 pgsql-server/contrib/start-scripts linux