Thomas F. O'Connell wrote:
> > In 8.1 there is a check to see if the foreign key value has changed
> > and if
> > not a trigger isn't queued. In the currently released versions any
> > update
> > will fire triggers.
> > The check in comment for trigger.c didn't say if this optimization
> > applied
> > to both referencing and referenced keys or just one of those.
> > If you need to know more you can look at the code at:
> > http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/
> > for trigger.c.
> It seems like this warrants an item somewhere in the release notes,
> and I'm not currently seeing it (or a related item) anywhere. Perhaps
> E.1.3.1 (Performance Improvements)? For some of the more extreme
> UPDATE scenarios I've seen, this could be a big win.
Hard to say, perhaps:
Prevent referential integrity triggers from firing if referenced
columns are not changed by an UPDATE
Previously, triggers would fire but do nothing.
However, the description seems more complex than it is worth.
Bruce Momjian | http://candle.pha.pa.us
firstname.lastname@example.org | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not