From aa1785af04a32675c2af8506fed3be3c5de47385 Mon Sep 17 00:00:00 2001 From: Vigneshwaran C Date: Sun, 14 Aug 2022 08:17:57 +0530 Subject: [PATCH v2] Tab completion for "ALTER TYPE typename SET" and rearranged "Alter TYPE typename RENAME" This patch does a couple of things: a) Add tab completion for "ALTER TYPE typename SET" was missing. b) Tab completion for "ALTER TYPE RENAME VALUE" was not along with tab completion of "ALTER TYPE" commands, it was present after "ALTER GROUP ", rearranged "ALTER TYPE RENAME VALUE", so that it is along with "ALTER TYPE" commands. --- src/bin/psql/tab-complete.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index f265e043e9..a16e38cb32 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -2516,6 +2516,21 @@ psql_completion(const char *text, int start, int end) /* ALTER TYPE ALTER ATTRIBUTE */ else if (Matches("ALTER", "TYPE", MatchAny, "ALTER", "ATTRIBUTE", MatchAny)) COMPLETE_WITH("TYPE"); + /* + * If we have ALTER TYPE RENAME VALUE, provide list of enum values + */ + else if (Matches("ALTER", "TYPE", MatchAny, "RENAME", "VALUE")) + COMPLETE_WITH_ENUM_VALUE(prev3_wd); + /* complete ALTER TYPE SET with (, SCHEMA */ + else if (Matches("ALTER", "TYPE", MatchAny, "SET")) + COMPLETE_WITH("(", "SCHEMA"); + /* + * Complete ALTER TYPE SET ( with the SET properties that can be + * changed. + */ + else if (Matches("ALTER", "TYPE", MatchAny, "SET", "(")) + COMPLETE_WITH("ANALYZE", "RECEIVE", "SEND", "STORAGE", "SUBSCRIPT", "TYPMOD_IN", "TYPMOD_OUT"); + /* complete ALTER GROUP */ else if (Matches("ALTER", "GROUP", MatchAny)) COMPLETE_WITH("ADD USER", "DROP USER", "RENAME TO"); @@ -2526,12 +2541,6 @@ psql_completion(const char *text, int start, int end) else if (Matches("ALTER", "GROUP", MatchAny, "ADD|DROP", "USER")) COMPLETE_WITH_QUERY(Query_for_list_of_roles); - /* - * If we have ALTER TYPE RENAME VALUE, provide list of enum values - */ - else if (Matches("ALTER", "TYPE", MatchAny, "RENAME", "VALUE")) - COMPLETE_WITH_ENUM_VALUE(prev3_wd); - /* * ANALYZE [ ( option [, ...] ) ] [ table_and_columns [, ...] ] * ANALYZE [ VERBOSE ] [ table_and_columns [, ...] ] -- 2.32.0