From f4e53e10b6ce0eedeb98caa4356facb47c7bb9cb Mon Sep 17 00:00:00 2001 From: Álvaro Herrera Date: Wed, 5 Mar 2025 13:50:22 +0100 Subject: Add ALTER TABLE ... ALTER CONSTRAINT ... SET [NO] INHERIT This allows to redefine an existing non-inheritable constraint to be inheritable, which allows to straighten up situations with NO INHERIT constraints so that thay can become normal constraints without having to re-verify existing data. For existing inheritance children this may require creating additional constraints, if they don't exist already. It also allows to do the opposite, if only for symmetry. Author: Suraj Kharage Reviewed-by: jian he Discussion: https://postgr.es/m/CAF1DzPVfOW6Kk=7SSh7LbneQDJWh=PbJrEC_Wkzc24tHOyQWGg@mail.gmail.com --- src/include/nodes/parsenodes.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/include/nodes') diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 0b208f51bdd..23c9e3c5abf 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -2493,6 +2493,8 @@ typedef struct ATAlterConstraint bool alterDeferrability; /* changing deferrability properties? */ bool deferrable; /* DEFERRABLE? */ bool initdeferred; /* INITIALLY DEFERRED? */ + bool alterInheritability; /* changing inheritability properties */ + bool noinherit; } ATAlterConstraint; /* Ad-hoc node for AT_ReplicaIdentity */ -- cgit v1.2.3