From 985af98095f2b1da6d7586c6fcdae20df3fb0461 Mon Sep 17 00:00:00 2001 From: reshke kirill Date: Fri, 1 Nov 2024 17:56:23 +0000 Subject: [PATCH v3 2/3] Enhance tab completion to ALTER TYPE ADD/DROP ATTRIBUTE Now psql will complete ALTER TYPE ADD ATTRIBUTE with possible datatypes Also, DROP/ADD ATTRIBUTE ... will be completed with CASCADE/RESRTICT where appropriate --- src/bin/psql/tab-complete.in.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/bin/psql/tab-complete.in.c b/src/bin/psql/tab-complete.in.c index 4b5334f2f0..7a3826aee8 100644 --- a/src/bin/psql/tab-complete.in.c +++ b/src/bin/psql/tab-complete.in.c @@ -3007,6 +3007,15 @@ match_previous_words(int pattern_id, */ else if (Matches("ALTER", "TYPE", MatchAny, "ALTER|DROP|RENAME", "ATTRIBUTE")) COMPLETE_WITH_ATTR(prev3_wd); + /* complete ALTER TYPE ADD ATTRIBUTE with list of types */ + else if (Matches("ALTER", "TYPE", MatchAny, "ADD", "ATTRIBUTE", MatchAny)) + COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_datatypes); + /* complete ALTER TYPE ADD ATTRIBUTE with CASCADE/RESTRICT */ + else if (Matches("ALTER", "TYPE", MatchAny, "ADD", "ATTRIBUTE", MatchAny, MatchAny)) + COMPLETE_WITH("CASCADE", "RESTRICT"); + /* complete ALTER TYPE DROP ATTRIBUTE with CASCADE/RESTRICT */ + else if (Matches("ALTER", "TYPE", MatchAny, "DROP", "ATTRIBUTE", MatchAny)) + COMPLETE_WITH("CASCADE", "RESTRICT"); /* ALTER TYPE ALTER ATTRIBUTE */ else if (Matches("ALTER", "TYPE", MatchAny, "ALTER", "ATTRIBUTE", MatchAny)) COMPLETE_WITH("TYPE"); -- 2.34.1