/* 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
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 ||
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)
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> */
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);
}
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 &&
* 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};