Remove unnecessary opening of other relation in RI_FKey_keyequal_upd_pk

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

Commit: 5f4170c6f734758d009c39e83cf1cc74f86918e4
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2008-02-18T23:00:38Z
Releases: 8.3.1
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