Re: Empty Updates, ON UPDATE triggers and Rules - Mailing list pgsql-general

From Jeff Davis
Subject Re: Empty Updates, ON UPDATE triggers and Rules
Date
Msg-id 1249579043.9256.751.camel@jdavis
Whole thread Raw
In response to Empty Updates, ON UPDATE triggers and Rules  (Josh Trutwin <josh@trutwins.homeip.net>)
List pgsql-general
On Thu, 2009-08-06 at 11:53 -0500, Josh Trutwin wrote:
> The set_last_modified() trigger is run even though the data didn't
> actually change.  Perhaps due to an application program which doesn't
> know the contents before running the UPDATE.

The following doc explains the standard way to accomplish this:

http://www.postgresql.org/docs/8.4/static/functions-trigger.html

The document says that in most cases, you would want the above trigger
to fire last. However, I think your situation is different: you probably
want that trigger to fire before your "last updated" trigger.

Rules happen at a much earlier stage. Expressions haven't been evaluated
yet and triggers haven't been fired, etc., so the rule won't really know
whether the new row and old row are really equal or not. A rule will
only work in simple cases, which may or may not be acceptable for you.

Regards,
    Jeff Davis


pgsql-general by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: Empty Updates, ON UPDATE triggers and Rules
Next
From: decibel
Date:
Subject: Re: Constraint between 2 tables and taking a coherent snapshot of both