Thread: pgsql: Remove unnecessary unused MATCH PARTIAL code

pgsql: Remove unnecessary unused MATCH PARTIAL code

From
Peter Eisentraut
Date:
Remove unnecessary unused MATCH PARTIAL code

ri_triggers.c spends a lot of space catering to a not-yet-implemented
MATCH PARTIAL option.  An actual implementation would probably not use
the existing code structure anyway, so let's just simplify this for
now.

First, have ri_FetchConstraintInfo() check that riinfo->confmatchtype
is valid.  Then we don't have to repeat that everywhere.

In the various referential action functions, we don't need to pay
attention to the match type at all right now, so remove all that code.
A future MATCH PARTIAL implementation would probably have some
conditions added to the present code, but it won't need an entirely
separate switch branch in each case.

In RI_FKey_fk_upd_check_required(), reorganize the code to make it
much simpler.

Reviewed-by: Corey Huinker <corey.huinker@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/0ccdd3e1-10b0-dd05-d8a7-183507c11eb1%402ndquadrant.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0afdecc1e5d70f86d87fdc125b83ed4b7e3e88dd

Modified Files
--------------
src/backend/utils/adt/ri_triggers.c | 1092 ++++++++++++++---------------------
1 file changed, 438 insertions(+), 654 deletions(-)