Re: Detecting changes to certain fields in 'before update' trigger functions

From: "Richard Broersma" <richard(dot)broersma(at)gmail(dot)com>
To: "Sebastian Tennant" <sebyte(at)smolny(dot)plus(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Detecting changes to certain fields in 'before update' trigger functions
Date: 2008-12-01 17:06:34
Message-ID: 396486430812010906x1b239d03pf0c58c46b16ee11c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Dec 1, 2008 at 8:35 AM, Sebastian Tennant
<sebyte(at)smolny(dot)plus(dot)com> wrote:
>>> IF (NEW.<column-name> != OLD.<column-name>) THEN ...
>>
>> IF( NEW.* IS DISTINCT FROM OLD.* ) THEN ...
>
> I sometimes think this kind of gotcha is purposely buried, or not
> addressed at all, in order to force users to read the manual.

I wouldn't say it is intentionally buried. I would say that the
PostgreSQL manual focuses primarily is on "What are the PG features".
While the manual may at times document some of the good/best
practices to use by combining various PG features, I wouldn't say
that its intention isn't to be an authoritative source on "How to use
PG features."

On the other hand, there are many ANSI-SQL books that focus on good
practices. For example, the need for the "IS DISTINCT FROM" when
dealing with nulls would be discussed in an SQL book. Once you have
the theory down, you can turn to the PostgreSQL manual to find out how
PostgreSQL implements this functionality.

--
Regards,
Richard Broersma Jr.

Visit the Los Angeles PostgreSQL Users Group (LAPUG)
http://pugs.postgresql.org/lapug

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2008-12-01 17:24:56 Re: Detecting changes to certain fields in 'before update' trigger functions
Previous Message Andrus 2008-12-01 17:04:50 Re: db backup script in gentoo