Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit e6b8e83

Browse filesBrowse files
committed
Add psql completion for [ NO ] DEPENDS ON EXTENSION
ALTER INDEX was able to handle that already. This adds tab completion for all the remaining commands that support this grammar: - ALTER FUNCTION - ALTER PROCEDURE - ALTER ROUTINE - ALTER TRIGGER - ALTER MATERIALIZED VIEW Author: Ian Lawrence Barwick Discussion: https://postgr.es/m/CAB8KJ=iypYudXuMOAMOP4BpkaYbXxk=a2cdJppX0e9mJXWtuig@mail.gmail.com
1 parent 38bb3ae commit e6b8e83
Copy full SHA for e6b8e83

File tree

Expand file treeCollapse file tree

1 file changed

+18
-9
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+18
-9
lines changed

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

Copy file name to clipboardExpand all lines: src/bin/psql/tab-complete.c
+18-9Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1614,14 +1614,24 @@ psql_completion(const char *text, int start, int end)
16141614
/* ALTER AGGREGATE,FUNCTION,PROCEDURE,ROUTINE <name> */
16151615
else if (Matches("ALTER", "AGGREGATE|FUNCTION|PROCEDURE|ROUTINE", MatchAny))
16161616
COMPLETE_WITH("(");
1617-
/* ALTER AGGREGATE,FUNCTION,PROCEDURE,ROUTINE <name> (...) */
1618-
else if (Matches("ALTER", "AGGREGATE|FUNCTION|PROCEDURE|ROUTINE", MatchAny, MatchAny))
1617+
/* ALTER AGGREGATE <name> (...) */
1618+
else if (Matches("ALTER", "AGGREGATE", MatchAny, MatchAny))
16191619
{
16201620
if (ends_with(prev_wd, ')'))
16211621
COMPLETE_WITH("OWNER TO", "RENAME TO", "SET SCHEMA");
16221622
else
16231623
COMPLETE_WITH_FUNCTION_ARG(prev2_wd);
16241624
}
1625+
/* ALTER FUNCTION,PROCEDURE,ROUTINE <name> (...) */
1626+
else if (Matches("ALTER", "FUNCTION|PROCEDURE|ROUTINE", MatchAny, MatchAny))
1627+
{
1628+
if (ends_with(prev_wd, ')'))
1629+
COMPLETE_WITH("OWNER TO", "RENAME TO", "SET SCHEMA",
1630+
"DEPENDS ON EXTENSION", "NO DEPENDS ON EXTENSION");
1631+
else
1632+
COMPLETE_WITH_FUNCTION_ARG(prev2_wd);
1633+
}
1634+
16251635
/* ALTER PUBLICATION <name> */
16261636
else if (Matches("ALTER", "PUBLICATION", MatchAny))
16271637
COMPLETE_WITH("ADD TABLE", "DROP TABLE", "OWNER TO", "RENAME TO", "SET");
@@ -1735,7 +1745,8 @@ psql_completion(const char *text, int start, int end)
17351745
/* ALTER INDEX <name> */
17361746
else if (Matches("ALTER", "INDEX", MatchAny))
17371747
COMPLETE_WITH("ALTER COLUMN", "OWNER TO", "RENAME TO", "SET",
1738-
"RESET", "ATTACH PARTITION", "DEPENDS", "NO DEPENDS",
1748+
"RESET", "ATTACH PARTITION",
1749+
"DEPENDS ON EXTENSION", "NO DEPENDS ON EXTENSION",
17391750
"ALTER COLLATION");
17401751
else if (Matches("ALTER", "INDEX", MatchAny, "ATTACH"))
17411752
COMPLETE_WITH("PARTITION");
@@ -1782,10 +1793,6 @@ psql_completion(const char *text, int start, int end)
17821793
"buffering =", /* GiST */
17831794
"pages_per_range =", "autosummarize =" /* BRIN */
17841795
);
1785-
else if (Matches("ALTER", "INDEX", MatchAny, "NO", "DEPENDS"))
1786-
COMPLETE_WITH("ON EXTENSION");
1787-
else if (Matches("ALTER", "INDEX", MatchAny, "DEPENDS"))
1788-
COMPLETE_WITH("ON EXTENSION");
17891796
/* ALTER INDEX <name> ALTER COLLATION */
17901797
else if (Matches("ALTER", "INDEX", MatchAny, "ALTER", "COLLATION"))
17911798
{
@@ -1920,7 +1927,8 @@ psql_completion(const char *text, int start, int end)
19201927
/* ALTER MATERIALIZED VIEW <name> */
19211928
else if (Matches("ALTER", "MATERIALIZED", "VIEW", MatchAny))
19221929
COMPLETE_WITH("ALTER COLUMN", "CLUSTER ON", "DEPENDS ON EXTENSION",
1923-
"OWNER TO", "RENAME", "RESET (", "SET");
1930+
"NO DEPENDS ON EXTENSION", "OWNER TO", "RENAME",
1931+
"RESET (", "SET");
19241932
/* ALTER MATERIALIZED VIEW xxx RENAME */
19251933
else if (Matches("ALTER", "MATERIALIZED", "VIEW", MatchAny, "RENAME"))
19261934
COMPLETE_WITH_ATTR(prev2_wd, " UNION SELECT 'COLUMN' UNION SELECT 'TO'");
@@ -1997,7 +2005,8 @@ psql_completion(const char *text, int start, int end)
19972005

19982006
/* ALTER TRIGGER <name> ON <name> */
19992007
else if (Matches("ALTER", "TRIGGER", MatchAny, "ON", MatchAny))
2000-
COMPLETE_WITH("RENAME TO");
2008+
COMPLETE_WITH("RENAME TO", "DEPENDS ON EXTENSION",
2009+
"NO DEPENDS ON EXTENSION");
20012010

20022011
/*
20032012
* If we detect ALTER TABLE <name>, suggest sub commands

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.