aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/arrayfuncs.c
diff options
context:
space:
mode:
authorJan Wieck <JanWieck@Yahoo.com>2003-04-07 20:30:38 +0000
committerJan Wieck <JanWieck@Yahoo.com>2003-04-07 20:30:38 +0000
commitcd203f33958b99656e8486351be08197a9a73d76 (patch)
tree1b9ea0bc4c2b5b6910f051a9b41964e2d69c4f14 /src/backend/utils/adt/arrayfuncs.c
parentafe1185cf082c4c1bb5cafcffa544e0f5d4fc97f (diff)
downloadpostgresql-cd203f33958b99656e8486351be08197a9a73d76.tar.gz
postgresql-cd203f33958b99656e8486351be08197a9a73d76.zip
Avoid primary key lookup (and lock) if foreign key does not change
on UPDATE. This get's rid of the long standing annoyance that updating a row that has foreign keys locks all the referenced rows even if the foreign key values do not change. The trick is to actually do a check identical to NO ACTION after an eventually done UPDATE in the SET DEFAULT case. Since a SET DEFAULT operation should have moved referencing rows to a new "home", a following NO ACTION check can only fail if the column defaults of the referencing table resulted in the key we actually deleted. Thanks to Stephan. Jan
Diffstat (limited to 'src/backend/utils/adt/arrayfuncs.c')
0 files changed, 0 insertions, 0 deletions