Share RI trigger code between NO ACTION and RESTRICT cases.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 19 Jun 2012 18:31:54 +0000 (14:31 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 19 Jun 2012 18:31:54 +0000 (14:31 -0400)
commitfe3db740025d80f70ceccb33b2bf3c085a2fca80
treee227567c304402f8c4db8ad3ead87d454e80ea30
parent48756be9cf31c37a936eecff051bf143d5866551
Share RI trigger code between NO ACTION and RESTRICT cases.

These triggers are identical except for whether ri_Check_Pk_Match is to be
called, so factor out the common code to save a couple hundred lines.

Also, eliminate null-column checks in ri_Check_Pk_Match, since they're
duplicate with the calling functions and require unnecessary complication
in its API statement.

Simplify the way code is shared between RI_FKey_check_ins and
RI_FKey_check_upd, too.
src/backend/utils/adt/ri_triggers.c
src/test/regress/expected/foreign_key.out
src/test/regress/sql/foreign_key.sql