Re: fine grained trigger time specification... - Mailing list pgsql-sql

From Stephan Szabo
Subject Re: fine grained trigger time specification...
Date
Msg-id 20040323092023.V89245@megazone.bigpanda.com
Whole thread Raw
In response to Re: fine grained trigger time specification...  (Erik Thiele <erik@thiele-hydraulik.de>)
List pgsql-sql
On Tue, 23 Mar 2004, Erik Thiele wrote:

> On Tue, 23 Mar 2004 10:17:31 -0600
> Bruno Wolff III <bruno@wolff.to> wrote:
>
> > On Tue, Mar 23, 2004 at 15:19:13 +0100,
> >   Erik Thiele <erik@thiele-hydraulik.de> 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).


pgsql-sql by date:

Previous
From: Bruno Wolff III
Date:
Subject: Re: fine grained trigger time specification...
Next
From: Guy Fraser
Date:
Subject: Re: [GENERAL] PHP or JSP? That is the question.