psql: Add some tab completion for TABLESAMPLE.

Petr Jelinek, reviewed by Brendan Jurd
This commit is contained in:
Robert Haas 2015-06-22 14:13:56 -04:00
parent 4318118edd
commit da9ee026a0
1 changed files with 12 additions and 0 deletions

View File

@ -737,6 +737,11 @@ static const SchemaQuery Query_for_list_of_matviews = {
" FROM pg_catalog.pg_event_trigger "\
" WHERE substring(pg_catalog.quote_ident(evtname),1,%d)='%s'"
#define Query_for_list_of_tablesample_methods \
" SELECT pg_catalog.quote_ident(tsmname) "\
" FROM pg_catalog.pg_tablesample_method "\
" WHERE substring(pg_catalog.quote_ident(tsmname),1,%d)='%s'"
/*
* This is a list of all "things" in Pgsql, which can show up after CREATE or
* DROP; and there is also a query to get a list of them.
@ -3580,6 +3585,13 @@ psql_completion(const char *text, int start, int end)
prev2_wd[0] == '\0')
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_relations, NULL);
/* TABLESAMPLE */
else if (pg_strcasecmp(prev_wd, "TABLESAMPLE") == 0)
COMPLETE_WITH_QUERY(Query_for_list_of_tablesample_methods);
else if (pg_strcasecmp(prev2_wd, "TABLESAMPLE") == 0)
COMPLETE_WITH_CONST("(");
/* TRUNCATE */
else if (pg_strcasecmp(prev_wd, "TRUNCATE") == 0)
COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);