Remove unnecessary opening of other relation in RI_FKey_keyequal_upd_pk
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 18 Feb 2008 23:00:38 +0000 (23:00 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 18 Feb 2008 23:00:38 +0000 (23:00 +0000)
commitdbded5bf3313f10c4800e3a30f69c56da1df8a4b
tree0b8f3c42bc2d73bf80762c1b85bcfde0dcb59f04
parente3bf7e00584cbf884d8c28663485bb6276748a60
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
src/backend/utils/adt/ri_triggers.c