Gavin Sherry wrote: > On Sat, 12 Oct 2002, Joe Conway wrote: > > > Tom Lane wrote: > > > Hackers: we might reasonably fix this by doing a deep copy of the > > > relcache's trigger info during initResultRelInfo(); or we could fix it > > > by getting rid of ri_TrigDesc and re-fetching from the relcache every > > > time. The former would imply that trigger state would remain unchanged > > > throughout a query, the latter would try to track currently-committed > > > trigger behavior. Either way has got pitfalls I think. > > > > > > The fact that there's a problem at all is because people are using > > > direct poking of the system catalogs instead of some kind of ALTER TABLE > > > command to disable/enable triggers; an ALTER command would presumably > > > gain exclusive lock on the table and thereby delay until active queries > > > finish. But that technique is out there (even in pg_dump files :-() and > > > so we'd best try to make the system proof against it. > > > > > > Any thoughts on which way to go? > > > > I'd say: > > > > 1. go with the former > > I agree. > > > 2. we definitely should also have an ALTER command to allow disable/enable of > > triggers > > I thought this was worked on for 7.3? I remember speaking to someone > (?) at OSCON because I had been working on 'ENABLE TRIGGER <trigname>' and > is compliment on the plane. Much of the work seemed to have been in CVS > already.
It is in TODO: * Allow triggers to be disabled [trigger] >From the TODO.detail archives, it seems it got stuck on an implementation issue: http://candle.pha.pa.us/mhonarc/todo.detail/trigger/msg00001.html The patch didn't prevent deferred contraint triggers from being fired. -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster