Re: pl/pgsql create table - Mailing list pgsql-general

From Bruce Momjian
Subject Re: pl/pgsql create table
Date
Msg-id 200208272101.g7RL1JU18142@candle.pha.pa.us
Whole thread Raw
In response to Re: pl/pgsql create table  (Alvaro Herrera <alvherre@atentus.com>)
Responses Re: pl/pgsql create table  (Alvaro Herrera <alvherre@atentus.com>)
List pgsql-general
I was merely saying that we have multiple problems with compiled-in oids
in plpgsql functions.

---------------------------------------------------------------------------

Alvaro Herrera wrote:
> Bruce Momjian dijo:
>
> >
> > When referencing created/dropped tables in pl/pgsql, use EXECUTE to
> > prevent the table oid from being stored in function as precompiled.  It
> > is mentioned in the current FAQ.  The solution is for us to
> > automatically add EXECUTE somehow.
>
> I don't understand.  I think he is referring to the fact that the
> function aborts midway because the DROP TABLE fails and marks the
> transaction as failed.  (but I didn't test before posting)
>
> If that's the case, the solution would be to test for existance of the
> table before the DROP TABLE statement.
>
> > ---------------------------------------------------------------------------
> >
> > Masse Jacques wrote:
>
> > > I have an error when tmp don't exist ( "table tmp don't exist" ...)
> > >
> > > and all is working well when there is a table tmp (no matter the structure
> > > of this table, the new table has a structure according to foo)
>
> --
> Alvaro Herrera (<alvherre[a]atentus.com>)
> "La gente vulgar solo piensa en pasar el tiempo;
> el que tiene talento, en aprovecharlo"
>
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-general by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: pl/pgsql create table
Next
From: Alvaro Herrera
Date:
Subject: Re: pl/pgsql create table