| PostgreSQL 8.0.6 Documentation | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 36. PL/Tcl - Tcl Procedural Language | Fast Forward | Next | 
Sometimes it is useful to have some global data that is held between two calls to a function or is shared between different functions. This is easily done since all PL/Tcl functions executed in one session share the same safe Tcl interpreter. So, any global Tcl variable is accessible to all PL/Tcl function calls and will persist for the duration of the SQL session. (Note that PL/TclU functions likewise share global data, but they are in a different Tcl interpreter and cannot communicate with PL/Tcl functions.)
     To help protect PL/Tcl functions from unintentionally interfering
     with each other, a global
     array is made available to each function via the upvar
     command. The global name of this variable is the function's internal
     name, and the local name is GD.  It is recommended that
     GD be used
     for persistent private data of a function.  Use regular Tcl global
     variables only for values that you specifically intend to be shared among
     multiple functions.
    
     An example of using GD appears in the
     spi_execp example below.