Share RI trigger code between NO ACTION and RESTRICT cases.
Tom Lane <tgl@sss.pgh.pa.us>
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.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/ri_triggers.c | modified | +234 −544 |
| src/test/regress/expected/foreign_key.out | modified | +26 −0 |
| src/test/regress/sql/foreign_key.sql | modified | +22 −0 |