@@ -1801,9 +1801,22 @@ psql_completion(const char *text, int start, int end)
18011801 "SET SCHEMA" );
18021802 /* ALTER MATERIALIZED VIEW <name> */
18031803 else if (Matches ("ALTER" , "MATERIALIZED" , "VIEW" , MatchAny ))
1804- COMPLETE_WITH ("ALTER COLUMN" , "OWNER TO" , "RENAME TO" ,
1805- "SET SCHEMA" );
1806-
1804+ COMPLETE_WITH ("ALTER COLUMN" , "CLUSTER ON" , "DEPENDS ON EXTENSION" ,
1805+ "OWNER TO" , "RENAME" , "RESET (" , "SET" );
1806+ /* ALTER MATERIALIZED VIEW xxx RENAME */
1807+ else if (Matches ("ALTER" , "MATERIALIZED" , "VIEW" , MatchAny , "RENAME" ))
1808+ COMPLETE_WITH_ATTR (prev2_wd , " UNION SELECT 'COLUMN' UNION SELECT 'TO'" );
1809+ else if (Matches ("ALTER" , "MATERIALIZED" , "VIEW" , MatchAny , "ALTER|RENAME" , "COLUMN" ))
1810+ COMPLETE_WITH_ATTR (prev3_wd , "" );
1811+ /* ALTER MATERIALIZED VIEW xxx RENAME yyy */
1812+ else if (Matches ("ALTER" , "MATERIALIZED" , "VIEW" , MatchAny , "RENAME" , MatchAnyExcept ("TO" )))
1813+ COMPLETE_WITH ("TO" );
1814+ /* ALTER MATERIALIZED VIEW xxx RENAME COLUMN yyy */
1815+ else if (Matches ("ALTER" , "MATERIALIZED" , "VIEW" , MatchAny , "RENAME" , "COLUMN" , MatchAnyExcept ("TO" )))
1816+ COMPLETE_WITH ("TO" );
1817+ /* ALTER MATERIALIZED VIEW xxx SET */
1818+ else if (Matches ("ALTER" , "MATERIALIZED" , "VIEW" , MatchAny , "SET" ))
1819+ COMPLETE_WITH ("(" , "SCHEMA" , "TABLESPACE" , "WITHOUT CLUSTER" );
18071820 /* ALTER POLICY <name> */
18081821 else if (Matches ("ALTER" , "POLICY" ))
18091822 COMPLETE_WITH_QUERY (Query_for_list_of_policies );
0 commit comments