From eb4ef98a62a3263d5f928372faf590211084ff96 Mon Sep 17 00:00:00 2001 From: reshke Date: Mon, 11 Aug 2025 13:14:14 +0000 Subject: [PATCH v2] Add tab completion for ALTER TABLE xxx ALTER CONTRAINT ... ENFORCED/INHERIT Author: reshke Co-authored-by: Roman Khapov --- src/bin/psql/tab-complete.in.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/bin/psql/tab-complete.in.c b/src/bin/psql/tab-complete.in.c index b1ff6f6cd94..488cbfb1933 100644 --- a/src/bin/psql/tab-complete.in.c +++ b/src/bin/psql/tab-complete.in.c @@ -2907,6 +2907,17 @@ match_previous_words(int pattern_id, set_completion_reference(prev3_wd); COMPLETE_WITH_SCHEMA_QUERY(Query_for_constraint_of_table); } + /* if we have ALTER TABLE ALTER|DROP|RENAME CONSTRAINT , provide [NOT] ENFORCED or [NO] INHERIT */ + else if (Matches("ALTER", "TABLE", MatchAny, "ALTER|DROP|RENAME", "CONSTRAINT", MatchAny)) + { + COMPLETE_WITH("ENFORCED", "NOT ENFORCED", "NO INHERIT", "INHERIT", "DEFERRABLE", + "NOT DEFERRABLE", "INITIALLY IMMEDIATE", "INITIALLY DEFERRED"); + } + /* if we have ALTER TABLE ALTER|DROP|RENAME CONSTRAINT NO, provide INHERIT */ + else if (Matches("ALTER", "TABLE", MatchAny, "ALTER|DROP|RENAME", "CONSTRAINT", MatchAny, "NO")) + { + COMPLETE_WITH("INHERIT"); + } /* ALTER TABLE VALIDATE CONSTRAINT */ else if (Matches("ALTER", "TABLE", MatchAny, "VALIDATE", "CONSTRAINT")) { -- 2.50.1 (Apple Git-155)