Plpgsql experts:

I've got a situation and am wondering if temp tables are the accepted solution. 
 (setting the temp
parameter on create table)  I've never worked with them and a colleague just 
brought them to my
attention as a way to solve a problem I've encountered.  He's not sure about 
this, so I am hoping
you guys can point me in the right direction.

The problem is that I've got function that takes some parameters, for example:

set constraints all deferred;
select my_func( x, y, z );
commit;

The problem is that the values x, y and z are inserted into a permanent table Q 
early in the processing of
my_func.  Then, several calls down in deep_func(), still inside my_func, I need 
to access the value of x.  I
tried to do a select on Q to get the value, but I came up NULL!  Guessing that 
is because the transaction
hasn't committed yet since I am still inside my_func.  Right?

So how do I get the value of parameter x?  Possible solutions:

        1) just pass x all the way down the calling path so that deep_func( x ) 
 can just access it as a
                parameter value.  Pain in the butt because none of the 
intermediate calls need x.

        2) insert the value of a into a temp table and the do a select on that 
within deep_func().
                But will I stull come up NULL, or do temp tables work 
differently?

        3) some other technique if I am thinking about this totally the wrong 
way!

As always, help clearing my confusion muchly appreciated!  (obviously I can 
just do a bunch of experiments on my
own, but expert insight is always nice to have)

- Leon





-- 
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

Reply via email to