11 comments

[ 2.6 ms ] story [ 32.8 ms ] thread
A unique way of getting Global Associative arrays within exception blocks as well possible with Postgres
PLTCL is an example. Indeed PLPerl may be too.
Couldn't you just use a temporary table?
That was option #3:

    Store this object in a table and load it in the function.
    
    Storing it in a Table and accessing the elements by selecting from the Table. This can be a heavy overhead.
While I can’t don’t know for sure how much overhead that is versus launching into tcl, I do avoid creating temporary tables in performance-sensitive code.
Yes, TCL seems to be ultra fast in comparison. And it is good to avoid temporary tables when performance is the major criteria
Temporary tables in postgresql are pretty fast, last for the duration of the session, and integrate with any procedural language in PG. There's a lot to like there.
There exists a great difference in performance between creating a temp table to store the information vs using associative arrays.

And also consider multiple parallel connections in a high traffic database creating so many temp tables :(

One of the problem with temporary tables is that it will result in adding metadata information into PostgreSQL catalog (pg_class), and it will easily get bloated as the temporary table ends its life
I think the selection Tcl is a right choice than Perl. considering the Lightweight nature of Tcl