From: Fujii Masao Date: Thu, 21 Nov 2019 10:22:37 +0000 (+0900) Subject: Improve tab-completion for ALTER MATERIALIZED VIEW. X-Git-Tag: REL_13_BETA1~1142 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=61a956d9cca3f72acb279c9c00f1d9cd47bbc934;p=thirdparty%2Fpostgresql.git Improve tab-completion for ALTER MATERIALIZED VIEW. Author: Takao Fujii Reviewed-by: Fujii Masao Discussion: https://postgr.es/m/f9dcdef78c124517edc9e5e5880f651e@oss.nttdata.com --- diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 98c917bf7ae..1578568a91c 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -1801,9 +1801,22 @@ psql_completion(const char *text, int start, int end) "SET SCHEMA"); /* ALTER MATERIALIZED VIEW */ else if (Matches("ALTER", "MATERIALIZED", "VIEW", MatchAny)) - COMPLETE_WITH("ALTER COLUMN", "OWNER TO", "RENAME TO", - "SET SCHEMA"); - + COMPLETE_WITH("ALTER COLUMN", "CLUSTER ON", "DEPENDS ON EXTENSION", + "OWNER TO", "RENAME", "RESET (", "SET"); + /* ALTER MATERIALIZED VIEW xxx RENAME */ + else if (Matches("ALTER", "MATERIALIZED", "VIEW", MatchAny, "RENAME")) + COMPLETE_WITH_ATTR(prev2_wd, " UNION SELECT 'COLUMN' UNION SELECT 'TO'"); + else if (Matches("ALTER", "MATERIALIZED", "VIEW", MatchAny, "ALTER|RENAME", "COLUMN")) + COMPLETE_WITH_ATTR(prev3_wd, ""); + /* ALTER MATERIALIZED VIEW xxx RENAME yyy */ + else if (Matches("ALTER", "MATERIALIZED", "VIEW", MatchAny, "RENAME", MatchAnyExcept("TO"))) + COMPLETE_WITH("TO"); + /* ALTER MATERIALIZED VIEW xxx RENAME COLUMN yyy */ + else if (Matches("ALTER", "MATERIALIZED", "VIEW", MatchAny, "RENAME", "COLUMN", MatchAnyExcept("TO"))) + COMPLETE_WITH("TO"); + /* ALTER MATERIALIZED VIEW xxx SET */ + else if (Matches("ALTER", "MATERIALIZED", "VIEW", MatchAny, "SET")) + COMPLETE_WITH("(", "SCHEMA", "TABLESPACE", "WITHOUT CLUSTER"); /* ALTER POLICY */ else if (Matches("ALTER", "POLICY")) COMPLETE_WITH_QUERY(Query_for_list_of_policies);