Обсуждение: BUG #1692: Drop table in plpgsql

Поиск
Список
Период
Сортировка

BUG #1692: Drop table in plpgsql

От
"Jocelyn Turcotte"
Дата:
The following bug has been logged online:

Bug reference:      1692
Logged by:          Jocelyn Turcotte
Email address:      turcotte.j@gmail.com
PostgreSQL version: 8.0.3
Operating system:   Debian linux 1:3.3.5-12
Description:        Drop table in plpgsql
Details:

I dont know if this bug is known (it seems to be a bug though), did not find
the todo list on the site.
If I execute the folowing code I get the error:

ERROR:  relation with OID 3374698 does not exist
CONTEXT:  SQL statement "INSERT INTO tmp values (1)"
PL/pgSQL function "bugtest" line 8 at SQL statement

Code:

CREATE OR REPLACE FUNCTION bugtest() returns integer as $proc$
    DECLARE
        yo record;
    BEGIN
        CREATE TEMP TABLE tmp (
            col INTEGER
        ) ON COMMIT DROP;

        INSERT INTO tmp values (1);

        select into yo col from tmp;

        DROP TABLE tmp;
        RETURN 0;
    END;
$proc$ language plpgsql;

select bugtest();
select bugtest();

Re: BUG #1692: Drop table in plpgsql

От
Michael Fuhr
Дата:
On Tue, May 31, 2005 at 07:58:50PM +0100, Jocelyn Turcotte wrote:
>
> ERROR:  relation with OID 3374698 does not exist
> CONTEXT:  SQL statement "INSERT INTO tmp values (1)"
> PL/pgSQL function "bugtest" line 8 at SQL statement

See "Why do I get 'relation with OID ##### does not exist' errors
when accessing temporary tables in PL/PgSQL functions?" in the FAQ:

http://www.postgresql.org/docs/faqs.FAQ.html#4.19

--
Michael Fuhr
http://www.fuhr.org/~mfuhr/