aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bin/psql/tab-complete.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 630026da2f9..2f412ca3db3 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -3322,12 +3322,16 @@ psql_completion(const char *text, int start, int end)
COMPLETE_WITH("VIEW");
else if (Matches("DROP", "MATERIALIZED", "VIEW"))
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_matviews, NULL);
+ else if (Matches("DROP", "MATERIALIZED", "VIEW", MatchAny))
+ COMPLETE_WITH("CASCADE", "RESTRICT");
/* DROP OWNED BY */
else if (Matches("DROP", "OWNED"))
COMPLETE_WITH("BY");
else if (Matches("DROP", "OWNED", "BY"))
COMPLETE_WITH_QUERY(Query_for_list_of_roles);
+ else if (Matches("DROP", "OWNED", "BY", MatchAny))
+ COMPLETE_WITH("CASCADE", "RESTRICT");
/* DROP TEXT SEARCH */
else if (Matches("DROP", "TEXT", "SEARCH"))
@@ -3368,6 +3372,8 @@ psql_completion(const char *text, int start, int end)
completion_info_charp = prev2_wd;
COMPLETE_WITH_QUERY(Query_for_list_of_tables_for_policy);
}
+ else if (Matches("DROP", "POLICY", MatchAny, "ON", MatchAny))
+ COMPLETE_WITH("CASCADE", "RESTRICT");
/* DROP RULE */
else if (Matches("DROP", "RULE", MatchAny))
@@ -3380,6 +3386,21 @@ psql_completion(const char *text, int start, int end)
else if (Matches("DROP", "RULE", MatchAny, "ON", MatchAny))
COMPLETE_WITH("CASCADE", "RESTRICT");
+ /* DROP TRANSFORM */
+ else if (Matches("DROP", "TRANSFORM"))
+ COMPLETE_WITH("FOR");
+ else if (Matches("DROP", "TRANSFORM", "FOR"))
+ COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_datatypes, NULL);
+ else if (Matches("DROP", "TRANSFORM", "FOR", MatchAny))
+ COMPLETE_WITH("LANGUAGE");
+ else if (Matches("DROP", "TRANSFORM", "FOR", MatchAny, "LANGUAGE"))
+ {
+ completion_info_charp = prev2_wd;
+ COMPLETE_WITH_QUERY(Query_for_list_of_languages);
+ }
+ else if (Matches("DROP", "TRANSFORM", "FOR", MatchAny, "LANGUAGE", MatchAny))
+ COMPLETE_WITH("CASCADE", "RESTRICT");
+
/* EXECUTE */
else if (Matches("EXECUTE"))
COMPLETE_WITH_QUERY(Query_for_list_of_prepared_statements);