pgsql-server/src/pl/plpgsql/src pl_comp.c - Mailing list pgsql-committers

From momjian@svr1.postgresql.org (Bruce Momjian)
Subject pgsql-server/src/pl/plpgsql/src pl_comp.c
Date
Msg-id 20030726235824.AC463D1C931@svr1.postgresql.org
Whole thread Raw
List pgsql-committers
CVSROOT:    /cvsroot
Module name:    pgsql-server
Changes by:    momjian@svr1.postgresql.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


pgsql-committers by date:

Previous
From: momjian@svr1.postgresql.org (Bruce Momjian)
Date:
Subject: pgsql-server/contrib/start-scripts linux
Next
From: momjian@svr1.postgresql.org (Bruce Momjian)
Date:
Subject: pgsql-server/src/test/regress expected/foreign ...