From 6afcab6ac1e03975dc59d62c3ccaf98ed2831669 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Sat, 10 Sep 2022 17:22:29 +0900 Subject: [PATCH] Add psql tab compression for ALTER TABLE .. { OF | NOT OF } ALTER TABLE .. OF is now able to complete with the list of available composite types that can be used with the query. Author: Aleksander Alekseev Reviewed-by: Shinya Kato Discussion: https://postgr.es/m/47b71e0c523b30357208e79786161281@oss.nttdata.com --- src/bin/psql/tab-complete.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index a7eccc75d2..f3465adb85 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -2240,7 +2240,8 @@ psql_completion(const char *text, int start, int end) "ENABLE", "INHERIT", "NO", "RENAME", "RESET", "OWNER TO", "SET", "VALIDATE CONSTRAINT", "REPLICA IDENTITY", "ATTACH PARTITION", - "DETACH PARTITION", "FORCE ROW LEVEL SECURITY"); + "DETACH PARTITION", "FORCE ROW LEVEL SECURITY", + "OF", "NOT OF"); /* ALTER TABLE xxx ADD */ else if (Matches("ALTER", "TABLE", MatchAny, "ADD")) { @@ -2473,6 +2474,10 @@ psql_completion(const char *text, int start, int end) else if (Matches("ALTER", "TABLE", MatchAny, "DETACH", "PARTITION", MatchAny)) COMPLETE_WITH("CONCURRENTLY", "FINALIZE"); + /* ALTER TABLE OF */ + else if (Matches("ALTER", "TABLE", MatchAny, "OF")) + COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_composite_datatypes); + /* ALTER TABLESPACE with RENAME TO, OWNER TO, SET, RESET */ else if (Matches("ALTER", "TABLESPACE", MatchAny)) COMPLETE_WITH("RENAME TO", "OWNER TO", "SET", "RESET");