On Wed, 2004-09-08 at 12:37, Phil Endecott wrote:
> Dear PostgreSQL experts,
> 
> I have encountered a problem with temporary tables inside plpgsql 
> functions.  I suspect that this is a known issue; if someone could 
> confirm and suggest a workaround I'd be grateful.
> 
> My function creates a couple of temporary tables, uses them, and drops 
> them before returning:

...
> ERROR:  relation with OID 590209 does not exist
> CONTEXT:  PL/pgSQL function "f" line 18 at SQL statement
> 
> (Line 18 is the insert-select statement.)
> 
> I imagine that it has cached that one of the tables is object 590209, 
> but has not noticed that the table has been dropped and recreated before 
> the second invokation of the function.

That is correct.  You need to EXECUTE the command instead, so that it is
planned afresh each time it is used.

-- 
Oliver Elphick                                          [EMAIL PROTECTED]
Isle of Wight                              http://www.lfix.co.uk/oliver
GPG: 1024D/A54310EA  92C8 39E7 280E 3631 3F0E  1EC0 5664 7A2F A543 10EA
                 ========================================
     "Put on the whole armor of God, that ye may be able to 
      stand against the wiles of the devil."        
                                        Ephesians 6:11 


---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to