Re: Making AFTER triggers act properly in PL functions
От | Stephan Szabo |
---|---|
Тема | Re: Making AFTER triggers act properly in PL functions |
Дата | |
Msg-id | 20040908134705.K54420@megazone.bigpanda.com обсуждение исходный текст |
Ответ на | Re: Making AFTER triggers act properly in PL functions (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Making AFTER triggers act properly in PL functions
Re: Making AFTER triggers act properly in PL functions |
Список | pgsql-hackers |
On Wed, 8 Sep 2004, Tom Lane wrote: > Hmm. Here's a slightly off the wall idea: following SET CONSTRAINTS, > scan the pending-triggers list twice. The first time, you determine > which triggers you need to fire, and mark them "in progress" by your > transaction. The second time through, you actually fire the ones you > marked, and change their marking to "done". The "in progress" ones > wouldn't be touched by the hypothetical inner SET CONSTRAINTS. > > It wouldn't quite work to use just transaction ID as the marker, since > the inner SET CONSTRAINTS is very possibly done without using a > subtransaction. But command ID or query nesting level or some such > would work. I think the main concern here would be the space cost of > adding still another field to the trigger records ... is it worth it? Would it be possible to basically alias the space for dte_done_xid to hold either the xid if it's done or the <whatever> if it's in progress? That's ugly, but it would presumably not increase the size of the record.
В списке pgsql-hackers по дате отправления: