From: | Christoph Dalitz <christoph(dot)dalitz(at)hs-niederrhein(dot)de> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Cc: | pgman(at)candle(dot)pha(dot)pa(dot)us, neilc(at)samurai(dot)com |
Subject: | Re: pl/pgsql create table |
Date: | 2002-08-27 17:28:32 |
Message-ID: | 20020827192832.513f388d.christoph.dalitz@hs-niederrhein.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
> Neil Conway wrote:
> > Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> > > 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.
> >
> > IMHO, no -- the solution is to automatically invalidate compiled query
> > plans when a dependant relation is removed. Not exactly sure how to do
> > it, but I was thinking of tackling this for 7.4 (suggestions are
> > welcome, of course).
>
> Yes, but how do you handle cases where the table gets create/dropped
> inside the transaction. It is clearly tricky.
>
If I remember right, Oracle does not allow DDL-Statements in PL/SQL
procedures. You have to use a special package (I have forgotten the name)
which prevents the DDL-Statement from being precompiled.
So maybe this is a simple workaround: forbid DDL-Statements without EXECUTE.
Just my 0.2 Euros,
Christoph Dalitz
From | Date | Subject | |
---|---|---|---|
Next Message | Christian Mock | 2002-08-27 17:40:09 | stupid Q regarding "UPDATE waiting" |
Previous Message | David Link | 2002-08-27 17:20:43 | Screwy behavior with SUM and multiple joins to same table |