BUG #1546: Temp table isn't deleted at the end of a transaction / ON COMMIT DROP has no effect
От | Oliver Siegmar |
---|---|
Тема | BUG #1546: Temp table isn't deleted at the end of a transaction / ON COMMIT DROP has no effect |
Дата | |
Msg-id | 20050315075003.5B6A6F1552@svr2.postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #1546: Temp table isn't deleted at the end of a
|
Список | pgsql-bugs |
The following bug has been logged online: Bug reference: 1546 Logged by: Oliver Siegmar Email address: o.siegmar@vitrado.de PostgreSQL version: 7.4.7 / 8.0.1 Operating system: Linux x86 Description: Temp table isn't deleted at the end of a transaction / ON COMMIT DROP has no effect Details: Hello, I've probably found a temp table bug in PostgreSQL (tested with 7.4.7 and 8.0.1 on Linux x86). 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 No transaction has been started manually. If I drop the temporary testtable manually within the PL/pgSQL function, everything runs fine. Bug or feature? ;-) Cheers, Oliver
В списке pgsql-bugs по дате отправления: