Re: starting a stored procedure+rule AFTER an insert

From: Douglas McNaught <doug(at)mcnaught(dot)org>
To: "Bima Djaloeis" <bima(dot)djaloeis(dot)uni(at)googlemail(dot)com>
Cc: pgsql-novice(at)postgresql(dot)org, pgsql-general(at)postgresql(dot)org
Subject: Re: starting a stored procedure+rule AFTER an insert
Date: 2007-10-08 13:00:59
Message-ID: 87ve9hsqus.fsf@suzuka.mcnaught.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"Bima Djaloeis" <bima(dot)djaloeis(dot)uni(at)googlemail(dot)com> writes:

> I have implemented a stored procedure that writes out the newest DB
> entry on insert, and combined it with a rule.
>
> 1) create function newcache() returns void AS 'newCache', 'newCache' language
> c;
> 2) create rule newcacherule AS on insert to caches do also select newcache();
>
> The problem is that newcacherule fires BEFORE the insert has taken
> place, so effectively, I always just get the 2nd newest entry to
> write into my text file while the newest entry is "stuck in the
> queue" until a new insert come. How can I execute my rule AFTER the
> insert has taken place?

Rules effectively happen at query parse time. You probably want an
AFTER trigger instead.

-Doug

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Merlin Moncure 2007-10-08 14:18:00 SPI dumping core on large palloc
Previous Message A. Kretschmer 2007-10-08 13:00:47 Re: Problem with SELECT