Re: simplifying grammar for ALTER CONSTRAINT .. SET [NO] INHERIT - Mailing list pgsql-hackers

From Suraj Kharage
Subject Re: simplifying grammar for ALTER CONSTRAINT .. SET [NO] INHERIT
Date
Msg-id CAF1DzPUkZr9Eug0Pu_GTmfWZDSWeL3HAOPH9-4CM_261JY8U0w@mail.gmail.com
Whole thread Raw
In response to simplifying grammar for ALTER CONSTRAINT .. SET [NO] INHERIT  (Álvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: simplifying grammar for ALTER CONSTRAINT .. SET [NO] INHERIT
List pgsql-hackers

On Tue, Mar 25, 2025 at 9:32 PM Álvaro Herrera <alvherre@alvh.no-ip.org> wrote:
With commit f4e53e10b6ce we introduced a way to flip the NO INHERIT bit
on not-null constraints.  However, because of the way the grammar
dealt with ALTER CONSTRAINT, we were too blind to see a way to implement
it using the existing production.  It turns out that we can remove it,
so the commands would be

ALTER TABLE tab ALTER CONSTRAINT constr INHERIT
ALTER TABLE tab ALTER CONSTRAINT constr NO INHERIT

i.e. the word SET is no longer needed.

Do people find this better?

 Yes, I agree. As Peter said, it is now inline with other commands.

I have reviewed the patch and it looks good to me.

Since we are removing the SET keyword, how about removing that from the below comment as well.

/*
* Propagate the change to children.  For SET NO INHERIT, we don't
* recursively affect children, just the immediate level.
*/

This is the comment from ATExecAlterConstrInheritability().

pgsql-hackers by date:

Previous
From: "Maksim.Melnikov"
Date:
Subject: sync_standbys_defined read/write race on startup
Next
From: Anton Ratundalov
Date:
Subject: Remote partitionwise doesn't work for varchar join keys