Re: Function caches wrong OID of temporary table?
От | Oliver Elphick |
---|---|
Тема | Re: Function caches wrong OID of temporary table? |
Дата | |
Msg-id | 1094644315.2014.53.camel@linda обсуждение исходный текст |
Ответ на | Function caches wrong OID of temporary table? (Phil Endecott <spam_from_postgresql_general@chezphil.org>) |
Список | pgsql-general |
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 olly@lfix.co.uk 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
В списке pgsql-general по дате отправления: