Joe Conway wrote:

Andre wrote:

Package variables are not transactional, additionaly they are
session based - each session has it's own variables(values).
You can assign initial(defult) values in package spec.
Using table for them would also imply several columns
for each datatype or several tables for them.


I did a crude implementation of session variables for my OSCON tutorial which can be found here:
http://www.joeconway.com/tut_oscon_2004.pdf
See the slides with myfunc_setvar(), myfunc_getvar(), and myfunc_rmvar().


I have a slightly improved version that I'm using on a production system with good results. You can get the tarball here:

http://www.joeconway.com/pgsession.tar.gz

There was another implementation of session variables based on shared memory floating around the lists somewhere. You might try searching the archives for that also.



In 8.0 plperl has %_SHARED, which is essentially a stash for session-persistent data of arbitrary complexity. It's one of the new features. Writing get/set functions for them would be entirely trivial. Seeding them with inital defaults would involve an explicit function call at session startup - we don't have that automated for plperl yet.


cheers

andrew

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to