Re: Package support for Postgres
От | Peter Eisentraut |
---|---|
Тема | Re: Package support for Postgres |
Дата | |
Msg-id | Pine.LNX.4.30.0110172329010.628-100000@peter.localdomain обсуждение исходный текст |
Ответ на | Re: Package support for Postgres (Bill Studenmund <wrstuden@netbsd.org>) |
Ответы |
Re: Package support for Postgres
|
Список | pgsql-hackers |
Bill Studenmund writes: > Could you please give me an example of how to do this, say for plperl or > plpython? Just showing how two functions made with CREATE FUNCTION can use > global variables will be fine. This example will help me understand how > they work. For PL/Tcl you use regular Tcl global variables: create function produce(text) returns text as ' global foo; set foo $1; ' language pltcl; create function consume() returns text as ' global foo; return $foo; ' language pltcl; There is also a mechanism for one procedure to save private data across calls. For PL/Python you use a global dictionary: create function produce(text) returns text as ' GD["key"] = args[0] ' language plpython; create function consume() returns text as ' return GD["key"] ' language plpython; There is also a dictionary for private data. For PL/Perl I'm not sure if something has been implemented. In C you can use shared memory, and for PL/sh you would use temp files of course. ;-) -- Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter
В списке pgsql-hackers по дате отправления: