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   [EMAIL PROTECTED]   http://funkturm.homeip.net/~peter


---------------------------(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