Commit 029722ac authored by Robert Haas's avatar Robert Haas

Improved tab completion for CLUSTER VERBOSE.

Jeff Janes
parent 68386fc1
......@@ -1661,14 +1661,29 @@ psql_completion(char *text, int start, int end)
/* CLUSTER */
/*
* If the previous word is CLUSTER and not without produce list of tables
* If the previous word is CLUSTER and not WITHOUT produce list of tables
*/
else if (pg_strcasecmp(prev_wd, "CLUSTER") == 0 &&
pg_strcasecmp(prev2_wd, "WITHOUT") != 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, "UNION SELECT 'VERBOSE'");
/*
* If the previous words are CLUSTER VERBOSE produce list of tables
*/
else if (pg_strcasecmp(prev_wd, "VERBOSE") == 0 &&
pg_strcasecmp(prev2_wd, "CLUSTER") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
/* If we have CLUSTER <sth>, then add "USING" */
else if (pg_strcasecmp(prev2_wd, "CLUSTER") == 0 &&
pg_strcasecmp(prev_wd, "ON") != 0)
pg_strcasecmp(prev_wd, "ON") != 0 &&
pg_strcasecmp(prev_wd, "VERBOSE") != 0)
{
COMPLETE_WITH_CONST("USING");
}
/* If we have CLUSTER VERBOSE <sth>, then add "USING" */
else if (pg_strcasecmp(prev3_wd, "CLUSTER") == 0 &&
pg_strcasecmp(prev2_wd, "VERBOSE") == 0)
{
COMPLETE_WITH_CONST("USING");
}
......@@ -1683,6 +1698,17 @@ psql_completion(char *text, int start, int end)
COMPLETE_WITH_QUERY(Query_for_index_of_table);
}
/*
* If we have CLUSTER VERBOSE <sth> USING, then add the index as well.
*/
else if (pg_strcasecmp(prev4_wd, "CLUSTER") == 0 &&
pg_strcasecmp(prev3_wd, "VERBOSE") == 0 &&
pg_strcasecmp(prev_wd, "USING") == 0)
{
completion_info_charp = prev2_wd;
COMPLETE_WITH_QUERY(Query_for_index_of_table);
}
/* COMMENT */
else if (pg_strcasecmp(prev_wd, "COMMENT") == 0)
COMPLETE_WITH_CONST("ON");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment