Skip site navigation (1) Skip section navigation (2)

Bug #748: Temp tables don't work in functions

From: pgsql-bugs(at)postgresql(dot)org
To: pgsql-bugs(at)postgresql(dot)org
Subject: Bug #748: Temp tables don't work in functions
Date: 2002-08-27 09:58:33
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-bugs
Matt Sergeant (msergeant(at)startechgroup(dot)co(dot)uk) reports a bug with a severity of 1
The lower the number the more severe it is.

Short Description
Temp tables don't work in functions

Long Description
When you use a temporary table in a function, the first time through it compiles the temporary table into an id for the table. Unfortunately it then tries to use the same id value on subsequent invocations, causing it to try and reference a non-existing relation on the second time through.

I hear this is a known bug, but I needed to get an idea if someone is working on this, or if it's already fixed in CVS, or if this is considered low importance or what.

If it is fixed in CVS, please mail me and I'll try it out.

Sample Code
mydb=> create or replace function foo() returns integer as '
mydb'> begin
mydb'>   create temporary table fooo (bar integer not null);
mydb'>   insert into fooo values ( 23 );
mydb'>   drop table fooo;
mydb'>   return 24;
mydb'> end;
mydb'> ' language 'plpgsql';
mydb=> select foo();
(1 row)

mydb=> select foo();
NOTICE:  Error occurred while executing PL/pgSQL function foo
NOTICE:  line 3 at SQL statement
ERROR:  Relation 1156252 does not exist

No file was uploaded with this report


pgsql-bugs by date

Next:From: Bruce MomjianDate: 2002-08-27 14:20:08
Subject: Re: Bug #748: Temp tables don't work in functions
Previous:From: Grégory FaruchDate: 2002-08-27 08:11:00
Subject: jdbc example

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group