Re: simplifying grammar for ALTER CONSTRAINT .. SET [NO] INHERIT
Suraj Kharage <suraj.kharage@enterprisedb.com>
From: Suraj Kharage <suraj.kharage@enterprisedb.com>
To: Álvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Pg Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-03-26T14:23:36Z
Lists: 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().
Commits
-
Simplify syntax for ALTER TABLE ALTER CONSTRAINT NO INHERIT
- 4a02af8b1a5f 18.0 landed
-
Add ALTER TABLE ... ALTER CONSTRAINT ... SET [NO] INHERIT
- f4e53e10b6ce 18.0 cited