CVSROOT:        /cvsroot
Module name:    pgsql-server
Changes by:     [EMAIL PROTECTED]       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


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to