pgsql: Fix overlooked relcache invalidation in ALTER TABLE ... ALTER CO - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix overlooked relcache invalidation in ALTER TABLE ... ALTER CO
Date
Msg-id E1Yovqj-0007R6-Ca@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix overlooked relcache invalidation in ALTER TABLE ... ALTER CONSTRAINT.

When altering the deferredness state of a foreign key constraint, we
correctly updated the catalogs and then invalidated the relcache state for
the target relation ... but that's not the only relation with relevant
triggers.  Must invalidate the other table as well, or the state change
fails to take effect promptly for operations triggered on the other table.
Per bug #13224 from Christian Ullrich.

In passing, reorganize regression test case for this feature so that it
isn't randomly injected into the middle of an unrelated test sequence.

Oversight in commit f177cbfe676dc2c7ca2b206c54d6bf819feeea8b.  Back-patch
to 9.4 where the faulty code was added.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/a4820434c1a62e0c5f4051a31ad8b4a11f0a6ad7

Modified Files
--------------
src/backend/commands/tablecmds.c          |   22 ++++++++++++--
src/test/regress/expected/foreign_key.out |   43 ++++++++++++++------------
src/test/regress/sql/foreign_key.sql      |   47 +++++++++++++++++------------
3 files changed, 70 insertions(+), 42 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Fix overlooked relcache invalidation in ALTER TABLE ... ALTER CO
Next
From: Tom Lane
Date:
Subject: Re: pgsql: Add transforms feature