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

Поиск
Список
Период
Сортировка
Искать

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

От:
momjian@svr1.postgresql.org (Bruce Momjian)
Дата:
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

FAQ