• Tom Lane's avatar
    Fix incorrect trigger-property updating in ALTER CONSTRAINT. · a522fc3d
    Tom Lane authored
    The code to change the deferrability properties of a foreign-key constraint
    updated all the associated triggers to match; but a moment's examination of
    the code that creates those triggers in the first place shows that only
    some of them should track the constraint's deferrability properties.  This
    leads to odd failures in subsequent exercise of the foreign key, as the
    triggers are fired at the wrong times.  Fix that, and add a regression test
    comparing the trigger properties produced by ALTER CONSTRAINT with those
    you get by creating the constraint as-intended to begin with.
    
    Per report from James Parks.  Back-patch to 9.4 where this ALTER
    functionality was introduced.
    
    Report: <CAJ3Xv+jzJ8iNNUcp4RKW8b6Qp1xVAxHwSXVpjBNygjKxcVuE9w@mail.gmail.com>
    a522fc3d
alter_table.out 116 KB