Re: BUG #1546: Temp table isn't deleted at the end of a

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: BUG #1546: Temp table isn't deleted at the end of a
Дата
Msg-id 20050318052629.H61964@megazone.bigpanda.com
обсуждение исходный текст
Ответ на BUG #1546: Temp table isn't deleted at the end of a transaction / ON COMMIT DROP has no effect  ("Oliver Siegmar" <o.siegmar@vitrado.de>)
Ответы Re: BUG #1546: Temp table isn't deleted at the end of a transaction / ON COMMIT DROP has no effect  (Oliver Siegmar <o.siegmar@vitrado.de>)
Список pgsql-bugs
On Tue, 15 Mar 2005, Oliver Siegmar wrote:

> Here's a demonstration of the bug:
>
> CREATE FUNCTION testfunction()
> RETURNS void
> AS '
>     BEGIN
>         CREATE TEMP TABLE testtable (field int4) ON COMMIT DROP;
>
>         INSERT INTO testtable (field) VALUES (1);
>
>         -- DROP TABLE testtable;
>
>         RETURN;
>     END;
> ' LANGUAGE 'plpgsql';
>
>
> database=# SELECT testfunction();
>
>  testfunction
> --------------
>
> (1 row)
>
> database=# SELECT testfunction();
> ERROR:  relation with OID 29308882 does not exist
> CONTEXT:  SQL statement "INSERT INTO testtable (field) VALUES (1)"
> PL/pgSQL function "testfunction" line 4 at SQL statement

Given the error message, this seems to be the whole plpgsql caches query
plans but we don't invalidate those plans when there are schema changes.
In all currently released versions you pretty much need to use EXECUTE on
any queries where the table may go away, for example, any use of temp
tables.

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Michael Meskes
Дата:
Сообщение: Re: [INTERFACES] libecpg (8.0 and CVS) hits a gcc bug on powerpc and amd64 (crash)
Следующее
От: Stephan Szabo
Дата:
Сообщение: Re: BUG #1546: Temp table isn't deleted at the end of a