Re: sql_drop Event Trigger - Mailing list pgsql-hackers

From Robert Haas
Subject Re: sql_drop Event Trigger
Date
Msg-id CA+Tgmoa5CTP7W-r3PsWuFV6xw1mGMGKDbR541=YZNeG2zW-JCA@mail.gmail.com
Whole thread Raw
In response to Re: sql_drop Event Trigger  (Dimitri Fontaine <dimitri@2ndQuadrant.fr>)
Responses Re: sql_drop Event Trigger
List pgsql-hackers
On Wed, Feb 6, 2013 at 11:30 AM, Dimitri Fontaine
<dimitri@2ndquadrant.fr> wrote:
> Alvaro Herrera <alvherre@2ndquadrant.com> writes:
>> Dimitri Fontaine escribió:
>>> Tom Lane <tgl@sss.pgh.pa.us> writes:
>>> > I might be forgetting something, but doesn't dependency.c work by first
>>> > constructing a list of all the objects it's going to drop, and only then
>>> > dropping them?  Could we inject a "pre deletion" event trigger call at
>>> > the point where the list is completed?
>>
>> Yes, this is what I'm proposing.
>
> So, I add back the "sql_drop" event and implement it in dependency.c,
> and keep the list for later processing from "ddl_command_end", right?
>
> Robert, you specifically opposed to "sql_drop" and I just removed it
> from the patch. What do you think now? Also, should that be a follow-up
> patch to the current one for your reviewing purposes?

Well, if it has a different firing point than ddl_command_end, then
there could well be some point to having it after all.  But I'm far
from convinced that the proposed firing point can be made safe without
a major refactoring.  I think this is the sort of things where "design
before code" ought to be the cardinal rule.

>> I replied to this above: raise an error.  (How to do that is an open
>> implementation question, but I proposed a simple idea upthread).
>
> Well, can the list of objects that get dropped for CASCADE change in
> between releases? If it ever does, that means that your event trigger
> that used to work before is not broken after upgrade. Is that ok?

That particular problem does not bother me, personally.  But the
possibility of ending up with corrupt system catalog contents does.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Christopher Browne
Date:
Subject: Re: sql_drop Event Trigger
Next
From: Robert Haas
Date:
Subject: Re: sql_drop Event Trigger