From f4b2a62ae3147ab262eaa21f8be76e569ffd8dfa Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 25 Mar 2025 13:40:24 +0100 Subject: [PATCH] Small fixes for Add ALTER TABLE ... ALTER CONSTRAINT ... SET [NO] INHERIT MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Small fixes for commit f4e53e10b6c: Add missing calls to InvokeObjectPostAlterHook() and also CacheInvalidateRelcache(). The former change could have a user-visible effect. The latter omission might have caused other bugs, but it is not clear whether one actually existed. With these changes, the code is now more consistent with similar ALTER CONSTRAINT variants, especially the ones that set the deferrability. Reviewed-by: Álvaro Herrera Discussion: https://postgr.es/m/CAF1DzPVfOW6Kk=7SSh7LbneQDJWh=PbJrEC_Wkzc24tHOyQWGg@mail.gmail.com --- src/backend/commands/tablecmds.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 1202544ebd0..4974536e084 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -12151,10 +12151,16 @@ ATExecAlterConstraintInternal(List **wqueue, ATAlterConstraint *cmdcon, copy_con->connoinherit = cmdcon->noinherit; CatalogTupleUpdate(conrel, ©Tuple->t_self, copyTuple); + + InvokeObjectPostAlterHook(ConstraintRelationId, currcon->oid, 0); + CommandCounterIncrement(); heap_freetuple(copyTuple); changed = true; + /* Make new constraint flags visible to others */ + CacheInvalidateRelcache(rel); + /* Fetch the column number and name */ colNum = extractNotNullColumn(contuple); colName = get_attname(currcon->conrelid, colNum, false); -- 2.39.5