On Tue, 23 Mar 2004, Erik Thiele wrote: > On Tue, 23 Mar 2004 10:17:31 -0600 > Bruno Wolff III <[EMAIL PROTECTED]> wrote: > > > On Tue, Mar 23, 2004 at 15:19:13 +0100, > > Erik Thiele <[EMAIL PROTECTED]> wrote: > > > now sadly i am getting this kind of problem: > > > > > > > > > zeit=> insert into a select > > > nextval('delmeseq'),personalnumber,datum,datum from calendar where > > > type=10409; > > > INSERT 0 581 <-- see, 581 inserts which is pretty much :) > > > zeit=> commit; <-- now i have to wait for 581 calls of alwayscheck > > > > > > > > > since alwayscheck is not the fastest function on earth, i'd like to have > > > it called on commit time if at least one of table a or b was modified, > > > but always only once per commit. is there a way to formulate this: > > > > > > ARRANGE FOR CALL OF FUNCTION alwayscheck() ON COMMIT WHEN AT LEAST ONE > > > OF TABLE a OR TABLE b WAS MODIFIED BUT CALL THE FUNCTION AT MOST ONE > > > TIME;
I didn't see the original, but... One way to do hack this up is triggers which insert a row into another holding table if and only if it hasn't already (something like transaction id or some such - something you don't need to worry about concurrency with) which itself has a deferred trigger on insert (which should probably remove the row as part of its behavior). ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])