v2-0001-Add-tab-completion-for-ALTER-TABLE-xxx-ALTER-CONT.patch
application/octet-stream
Filename: v2-0001-Add-tab-completion-for-ALTER-TABLE-xxx-ALTER-CONT.patch
Type: application/octet-stream
Part: 0
From eb4ef98a62a3263d5f928372faf590211084ff96 Mon Sep 17 00:00:00 2001
From: reshke <reshke@double.cloud>
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 <reshke@double.cloud>
Co-authored-by: Roman Khapov <r.khapov@ya.ru>
---
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 <sth> ALTER|DROP|RENAME CONSTRAINT <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 <sth> ALTER|DROP|RENAME CONSTRAINT <constraint> NO, provide INHERIT */
+ else if (Matches("ALTER", "TABLE", MatchAny, "ALTER|DROP|RENAME", "CONSTRAINT", MatchAny, "NO"))
+ {
+ COMPLETE_WITH("INHERIT");
+ }
/* ALTER TABLE <sth> VALIDATE CONSTRAINT <non-validated constraint> */
else if (Matches("ALTER", "TABLE", MatchAny, "VALIDATE", "CONSTRAINT"))
{
--
2.50.1 (Apple Git-155)