Remove unnecessary opening of other relation in RI_FKey_keyequal_upd_pk

Tom Lane <tgl@sss.pgh.pa.us>

Commit: cf59277ac9e02cd3f8ae2973c9dabf496af45e92
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2008-02-18T23:00:32Z
Releases: 8.4.0
Remove unnecessary opening of other relation in RI_FKey_keyequal_upd_pk
and RI_FKey_keyequal_upd_fk, as well as no-longer-needed calls of
ri_BuildQueryKeyFull.  Aside from saving a few cycles, this avoids needless
deadlock risks when an update is not changing the columns that participate
in an RI constraint.  Per a gripe from Alexey Nalbat.

Back-patch to 8.3.  Earlier releases did have a need to open the other
relation due to the way in which they retrieved information about the RI
constraint, so this problem unfortunately can't easily be improved pre-8.3.

Tom Lane and Stephan Szabo

Files

PathChange+/−
src/backend/utils/adt/ri_triggers.c modified +4 −22