Skip to content

Commit 8f11ef8

Browse files
committed
psql: Tab completion for ALTER TYPE ... CASCADE/RESTRICT
Updates table completion for ALTER TYPE to offer CASCADE/RESTRICT for a number of actions on attributes: ALTER TYPE ... ADD/DROP/RENAME ATTRIBUTE ... [CASCADE|RESTRICT] ALTER TYPE ... TYPE ... [CASCADE|RESTRICT] Author: Kirill Reshke Reviewed-By: Karina Litskevich Discussion: https://postgr.es/m/CALdSSPhVELkvutquqrDB=Ujfq_Pjz=6jn-kzh+291KPNViLTfw@mail.gmail.com
1 parent e0275c3 commit 8f11ef8

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/bin/psql/tab-complete.in.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2992,6 +2992,9 @@ match_previous_words(int pattern_id,
29922992
/* ALTER TYPE xxx RENAME (ATTRIBUTE|VALUE) yyy */
29932993
else if (Matches("ALTER", "TYPE", MatchAny, "RENAME", "ATTRIBUTE|VALUE", MatchAny))
29942994
COMPLETE_WITH("TO");
2995+
/* ALTER TYPE xxx RENAME ATTRIBUTE yyy TO zzz */
2996+
else if (Matches("ALTER", "TYPE", MatchAny, "RENAME", "ATTRIBUTE", MatchAny, "TO", MatchAny))
2997+
COMPLETE_WITH("CASCADE", "RESTRICT");
29952998

29962999
/*
29973000
* If we have ALTER TYPE <sth> ALTER/DROP/RENAME ATTRIBUTE, provide list
@@ -3002,9 +3005,18 @@ match_previous_words(int pattern_id,
30023005
/* complete ALTER TYPE ADD ATTRIBUTE <foo> with list of types */
30033006
else if (Matches("ALTER", "TYPE", MatchAny, "ADD", "ATTRIBUTE", MatchAny))
30043007
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_datatypes);
3008+
/* complete ALTER TYPE ADD ATTRIBUTE <foo> <footype> with CASCADE/RESTRICT */
3009+
else if (Matches("ALTER", "TYPE", MatchAny, "ADD", "ATTRIBUTE", MatchAny, MatchAny))
3010+
COMPLETE_WITH("CASCADE", "RESTRICT");
3011+
/* complete ALTER TYPE DROP ATTRIBUTE <foo> with CASCADE/RESTRICT */
3012+
else if (Matches("ALTER", "TYPE", MatchAny, "DROP", "ATTRIBUTE", MatchAny))
3013+
COMPLETE_WITH("CASCADE", "RESTRICT");
30053014
/* ALTER TYPE ALTER ATTRIBUTE <foo> */
30063015
else if (Matches("ALTER", "TYPE", MatchAny, "ALTER", "ATTRIBUTE", MatchAny))
30073016
COMPLETE_WITH("TYPE");
3017+
/* ALTER TYPE ALTER ATTRIBUTE <foo> TYPE <footype> */
3018+
else if (Matches("ALTER", "TYPE", MatchAny, "ALTER", "ATTRIBUTE", MatchAny, "TYPE", MatchAny))
3019+
COMPLETE_WITH("CASCADE", "RESTRICT");
30083020
/* complete ALTER TYPE <sth> RENAME VALUE with list of enum values */
30093021
else if (Matches("ALTER", "TYPE", MatchAny, "RENAME", "VALUE"))
30103022
COMPLETE_WITH_ENUM_VALUE(prev3_wd);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy