wolfgang@xxxxxxxxxxxxx writes: > Now, for pl/tcl, I could use either > create function check(text) returns text as $$ > set data { > # the data value > } > foreach d $data { > # the work > } > $$ language pltcl; > or > create function check(text) returns text as $$ > if ![info exists GD(data)] { > set GD(data) { > # the data value > } > } > foreach d $GD(data) { > # the work > } > $$ language pltcl; > Does this make any difference - i.e. how often will parsing the data happen? Obviously, in the first case the "set data" will happen every time you call the function. The cost of that should be about the same as it would be in standalone Tcl. PL/Tcl builds a Tcl code object for the function body on first call in a session, and thereafter reuses that code object, so that you shouldn't have extra parsing overhead per se ... but execution of the command costs something too. regards, tom lane