diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 303e23fa06..b935810fe1 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -1001,7 +1001,7 @@ psql_completion(const char *text, int start, int end) COMPLETE_WITH_LIST(list_ALTER); } - /* ALTER TABLE,INDEX,MATERIALIZED VIEW xxx ALL IN TABLESPACE xxx */ + /* ALTER TABLE,INDEX,MATERIALIZED VIEW ALL IN TABLESPACE xxx */ else if (pg_strcasecmp(prev4_wd, "ALL") == 0 && pg_strcasecmp(prev3_wd, "IN") == 0 && pg_strcasecmp(prev2_wd, "TABLESPACE") == 0) @@ -1011,15 +1011,23 @@ psql_completion(const char *text, int start, int end) COMPLETE_WITH_LIST(list_ALTERALLINTSPC); } - /* ALTER TABLE,INDEX,MATERIALIZED VIEW xxx ALL IN TABLESPACE xxx OWNED BY */ + /* ALTER TABLE,INDEX,MATERIALIZED VIEW 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) + pg_strcasecmp(prev_wd, "BY") == 0) { COMPLETE_WITH_QUERY(Query_for_list_of_roles); } + /* ALTER TABLE,INDEX,MATERIALIZED VIEW ALL IN TABLESPACE xxx OWNED BY xxx */ + else if (pg_strcasecmp(prev6_wd, "IN") == 0 && + pg_strcasecmp(prev5_wd, "TABLESPACE") == 0 && + pg_strcasecmp(prev3_wd, "OWNED") == 0 && + pg_strcasecmp(prev2_wd, "BY") == 0) + { + COMPLETE_WITH_CONST("SET TABLESPACE"); + } /* ALTER AGGREGATE,FUNCTION */ else if (pg_strcasecmp(prev3_wd, "ALTER") == 0 && (pg_strcasecmp(prev2_wd, "AGGREGATE") == 0 ||