pgsql: Improve conversion of legacy CREATE CONSTRAINT TRIGGER - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Improve conversion of legacy CREATE CONSTRAINT TRIGGER
Date
Msg-id 20071105190025.DCD34754229@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Improve conversion of legacy CREATE CONSTRAINT TRIGGER representation of
foreign keys, one more time.  Insist on matching up all three triggers before
we create a constraint; this will avoid creation of duplicate constraints
in scenarios where a broken FK constraint was repaired by re-adding the
constraint without removing the old partial trigger set.  Basically, this will
work nicely in all cases where the FK was actually functioning correctly in
the database that was dumped.  It will fail to restore an FK in just one case
where we theoretically could restore it: where we find the referenced table's
triggers and not the referencing table's trigger.  However, in such a scenario
it's likely that the user doesn't even realize he still has an FK at all
(since the more-likely-to-fail cases aren't enforced), and we'd probably not
accomplish much except to cause the reload to fail because the data doesn't
meet the FK constraint.  Also make the NOTICE logging still more verbose, by
adding detail about which of the triggers were found.  This seems about all
we can do without solving the problem of getting the user's attention at
session end.

Modified Files:
--------------
    pgsql/src/backend/commands:
        trigger.c (r1.221 -> r1.222)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/trigger.c?r1=1.221&r2=1.222)

pgsql-committers by date:

Previous
From: momjian@postgresql.org (Bruce Momjian)
Date:
Subject: pgsql: Document that configure option only affects contrib:
Next
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Fix deprecated-by-C-spec usage: storage class should come before