Re: DROP SCHEMA xxx CASCADE: ERROR: could not open relation with OID yyy

From: strk <strk(at)keybit(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: DROP SCHEMA xxx CASCADE: ERROR: could not open relation with OID yyy
Date: 2011-02-16 12:04:12
Message-ID: 20110216120412.GI95727@keybit.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Feb 10, 2011 at 12:03:49AM -0500, Tom Lane wrote:
> strk <strk(at)keybit(dot)net> writes:
> > I've finally completed the debugging phase and have
> > a minimal self-contained testcase showing the problem.
> > It has to do with INITIALLY DEFERRED constraints.
>
> I looked into this and find that the issue is you're trying to drop a
> table that has unfired AFTER TRIGGER events pending. When they finally
> fire, they can't find the table anymore.
>
> I'm inclined to think that we should disallow that; or even more to the
> point, that it'd be a good thing to apply CheckTableNotInUse() when
> about to drop a table. If we disallow such cases for ALTER TABLE, then
> a fortiori we should do so for DROP TABLE.

Makes sense to me disallowing drop.
An intuitive error message is all I was looking for.

--strk;

() Free GIS & Flash consultant/developer
/\ http://strk.keybit.net/services.html

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2011-02-16 12:06:07 Re: Change pg_last_xlog_receive_location not to move backwards
Previous Message Oliver Jowett 2011-02-16 12:03:38 Re: Fwd: [JDBC] Weird issues when reading UDT from stored function