mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Tab completion for ALTER .. ALL IN TABLESPACE
Update the tab completion for the changes made in
3c4cf08087
, which rework 'MOVE ALL' to be
'ALTER .. ALL IN TABLESPACE'.
Fujii Masao
Back-patch to 9.4, as the original change was.
This commit is contained in:
parent
465b52e74c
commit
b2de2a1172
@ -953,6 +953,13 @@ psql_completion(const char *text, int start, int end)
|
||||
|
||||
/* ALTER */
|
||||
|
||||
/* ALTER TABLE */
|
||||
else if (pg_strcasecmp(prev2_wd, "ALTER") == 0 &&
|
||||
pg_strcasecmp(prev_wd, "TABLE") == 0)
|
||||
{
|
||||
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables,
|
||||
"UNION SELECT 'ALL IN TABLESPACE'");
|
||||
}
|
||||
/*
|
||||
* complete with what you can alter (TABLE, GROUP, USER, ...) unless we're
|
||||
* in ALTER TABLE sth ALTER
|
||||
@ -970,6 +977,25 @@ psql_completion(const char *text, int start, int end)
|
||||
|
||||
COMPLETE_WITH_LIST(list_ALTER);
|
||||
}
|
||||
/* ALTER TABLE,INDEX,MATERIALIZED VIEW xxx ALL IN TABLESPACE xxx */
|
||||
else if (pg_strcasecmp(prev4_wd, "ALL") == 0 &&
|
||||
pg_strcasecmp(prev3_wd, "IN") == 0 &&
|
||||
pg_strcasecmp(prev2_wd, "TABLESPACE") == 0)
|
||||
{
|
||||
static const char *const list_ALTERALLINTSPC[] =
|
||||
{"SET TABLESPACE", "OWNED BY", NULL};
|
||||
|
||||
COMPLETE_WITH_LIST(list_ALTERALLINTSPC);
|
||||
}
|
||||
/* ALTER TABLE,INDEX,MATERIALIZED VIEW xxx ALL IN TABLESPACE xxx OWNED BY */
|
||||
else if (pg_strcasecmp(prev6_wd, "ALL") == 0 &&
|
||||
pg_strcasecmp(prev5_wd, "IN") == 0 &&
|
||||
pg_strcasecmp(prev4_wd, "TABLESPACE") == 0 &&
|
||||
pg_strcasecmp(prev2_wd, "OWNED") == 0 &&
|
||||
pg_strcasecmp(prev4_wd, "BY") == 0)
|
||||
{
|
||||
COMPLETE_WITH_QUERY(Query_for_list_of_roles);
|
||||
}
|
||||
/* ALTER AGGREGATE,FUNCTION <name> */
|
||||
else if (pg_strcasecmp(prev3_wd, "ALTER") == 0 &&
|
||||
(pg_strcasecmp(prev2_wd, "AGGREGATE") == 0 ||
|
||||
@ -1106,6 +1132,13 @@ psql_completion(const char *text, int start, int end)
|
||||
COMPLETE_WITH_LIST(list_ALTER_FOREIGN_TABLE);
|
||||
}
|
||||
|
||||
/* ALTER INDEX */
|
||||
else if (pg_strcasecmp(prev2_wd, "ALTER") == 0 &&
|
||||
pg_strcasecmp(prev_wd, "INDEX") == 0)
|
||||
{
|
||||
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_indexes,
|
||||
"UNION SELECT 'ALL IN TABLESPACE'");
|
||||
}
|
||||
/* ALTER INDEX <name> */
|
||||
else if (pg_strcasecmp(prev3_wd, "ALTER") == 0 &&
|
||||
pg_strcasecmp(prev2_wd, "INDEX") == 0)
|
||||
@ -1169,7 +1202,8 @@ psql_completion(const char *text, int start, int end)
|
||||
pg_strcasecmp(prev2_wd, "MATERIALIZED") == 0 &&
|
||||
pg_strcasecmp(prev_wd, "VIEW") == 0)
|
||||
{
|
||||
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_matviews, NULL);
|
||||
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_matviews,
|
||||
"UNION SELECT 'ALL IN TABLESPACE'");
|
||||
}
|
||||
|
||||
/* ALTER USER,ROLE <name> */
|
||||
@ -1749,12 +1783,12 @@ psql_completion(const char *text, int start, int end)
|
||||
COMPLETE_WITH_CONST("IDENTITY");
|
||||
}
|
||||
|
||||
/* ALTER TABLESPACE <foo> with RENAME TO, OWNER TO, SET, RESET, MOVE */
|
||||
/* ALTER TABLESPACE <foo> with RENAME TO, OWNER TO, SET, RESET */
|
||||
else if (pg_strcasecmp(prev3_wd, "ALTER") == 0 &&
|
||||
pg_strcasecmp(prev2_wd, "TABLESPACE") == 0)
|
||||
{
|
||||
static const char *const list_ALTERTSPC[] =
|
||||
{"RENAME TO", "OWNER TO", "SET", "RESET", "MOVE", NULL};
|
||||
{"RENAME TO", "OWNER TO", "SET", "RESET", NULL};
|
||||
|
||||
COMPLETE_WITH_LIST(list_ALTERTSPC);
|
||||
}
|
||||
@ -1776,27 +1810,6 @@ psql_completion(const char *text, int start, int end)
|
||||
|
||||
COMPLETE_WITH_LIST(list_TABLESPACEOPTIONS);
|
||||
}
|
||||
/* ALTER TABLESPACE <foo> MOVE ALL|TABLES|INDEXES|MATERIALIZED VIEWS */
|
||||
else if (pg_strcasecmp(prev4_wd, "ALTER") == 0 &&
|
||||
pg_strcasecmp(prev3_wd, "TABLESPACE") == 0 &&
|
||||
pg_strcasecmp(prev_wd, "MOVE") == 0)
|
||||
{
|
||||
static const char *const list_TABLESPACEMOVETARGETS[] =
|
||||
{"ALL", "TABLES", "INDEXES", "MATERIALIZED VIEWS", NULL};
|
||||
|
||||
COMPLETE_WITH_LIST(list_TABLESPACEMOVETARGETS);
|
||||
}
|
||||
else if ((pg_strcasecmp(prev4_wd, "TABLESPACE") == 0 &&
|
||||
pg_strcasecmp(prev2_wd, "MOVE") == 0) ||
|
||||
(pg_strcasecmp(prev5_wd, "TABLESPACE") == 0 &&
|
||||
pg_strcasecmp(prev3_wd, "MOVE") == 0 &&
|
||||
pg_strcasecmp(prev2_wd, "MATERIALIZED") == 0))
|
||||
{
|
||||
static const char *const list_TABLESPACEMOVEOPTIONS[] =
|
||||
{"OWNED BY", "TO", NULL};
|
||||
|
||||
COMPLETE_WITH_LIST(list_TABLESPACEMOVEOPTIONS);
|
||||
}
|
||||
|
||||
/* ALTER TEXT SEARCH */
|
||||
else if (pg_strcasecmp(prev3_wd, "ALTER") == 0 &&
|
||||
@ -2798,9 +2811,8 @@ psql_completion(const char *text, int start, int end)
|
||||
* but we may as well tab-complete both: perhaps some users prefer one
|
||||
* variant or the other.
|
||||
*/
|
||||
else if ((pg_strcasecmp(prev3_wd, "FETCH") == 0 ||
|
||||
pg_strcasecmp(prev3_wd, "MOVE") == 0) &&
|
||||
pg_strcasecmp(prev_wd, "TO") != 0)
|
||||
else if (pg_strcasecmp(prev3_wd, "FETCH") == 0 ||
|
||||
pg_strcasecmp(prev3_wd, "MOVE") == 0)
|
||||
{
|
||||
static const char *const list_FROMIN[] =
|
||||
{"FROM", "IN", NULL};
|
||||
|
Loading…
Reference in New Issue
Block a user