Movatterモバイル変換


[0]ホーム

URL:


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

Sign up
Appearance settings

Commitf89ae34

Browse files
committed
Improve tab completion of ALTER INDEX/TABLE with SET STATISTICS in psql
This fixes two issues with the completion of ALTER TABLE and ALTER INDEXafter SET STATISTICS is typed, trying to suggest schema objects whilethe grammar only allows integers.The tab completion of ALTER INDEX is made smarter by handling properlymore patterns. COLUMN is an optional keyword, but as no column numberscan be suggested yet as possible input simply adjust the completion soas no incorrect queries are generated.Author: Michael PaquierReviewed-by: Tatsuro YamadaDiscussion:https://postgr.es/m/20181219092255.GC680@paquier.xyz
1 parentb981df4 commitf89ae34

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1601,9 +1601,20 @@ psql_completion(const char *text, int start, int end)
16011601
COMPLETE_WITH("PARTITION");
16021602
elseif (Matches("ALTER","INDEX",MatchAny,"ATTACH","PARTITION"))
16031603
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_indexes,NULL);
1604+
/* ALTER INDEX <name> ALTER */
1605+
elseif (Matches("ALTER","INDEX",MatchAny,"ALTER"))
1606+
COMPLETE_WITH("COLUMN");
16041607
/* ALTER INDEX <name> ALTER COLUMN <colnum> */
16051608
elseif (Matches("ALTER","INDEX",MatchAny,"ALTER","COLUMN",MatchAny))
16061609
COMPLETE_WITH("SET STATISTICS");
1610+
/* ALTER INDEX <name> ALTER COLUMN <colnum> SET */
1611+
elseif (Matches("ALTER","INDEX",MatchAny,"ALTER","COLUMN",MatchAny,"SET"))
1612+
COMPLETE_WITH("STATISTICS");
1613+
/* ALTER INDEX <name> ALTER COLUMN <colnum> SET STATISTICS */
1614+
elseif (Matches("ALTER","INDEX",MatchAny,"ALTER","COLUMN",MatchAny,"SET","STATISTICS"))
1615+
{
1616+
/* Enforce no completion here, as an integer has to be specified */
1617+
}
16071618
/* ALTER INDEX <name> SET */
16081619
elseif (Matches("ALTER","INDEX",MatchAny,"SET"))
16091620
COMPLETE_WITH("(","TABLESPACE");
@@ -1909,6 +1920,12 @@ psql_completion(const char *text, int start, int end)
19091920
elseif (Matches("ALTER","TABLE",MatchAny,"ALTER","COLUMN",MatchAny,"SET","STORAGE")||
19101921
Matches("ALTER","TABLE",MatchAny,"ALTER",MatchAny,"SET","STORAGE"))
19111922
COMPLETE_WITH("PLAIN","EXTERNAL","EXTENDED","MAIN");
1923+
/* ALTER TABLE ALTER [COLUMN] <foo> SET STATISTICS */
1924+
elseif (Matches("ALTER","TABLE",MatchAny,"ALTER","COLUMN",MatchAny,"SET","STATISTICS")||
1925+
Matches("ALTER","TABLE",MatchAny,"ALTER",MatchAny,"SET","STATISTICS"))
1926+
{
1927+
/* Enforce no completion here, as an integer has to be specified */
1928+
}
19121929
/* ALTER TABLE ALTER [COLUMN] <foo> DROP */
19131930
elseif (Matches("ALTER","TABLE",MatchAny,"ALTER","COLUMN",MatchAny,"DROP")||
19141931
Matches("ALTER","TABLE",MatchAny,"ALTER",MatchAny,"DROP"))

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp