diff options
| author | Robert Haas <rhaas@postgresql.org> | 2012-08-20 16:45:44 -0400 | 
|---|---|---|
| committer | Robert Haas <rhaas@postgresql.org> | 2012-08-20 16:45:44 -0400 | 
| commit | 029722ac8e0d6b52872486b9d1907530fc8a0192 (patch) | |
| tree | 64aedd7c208b673ca9509a54078204f858ad1042 /src/bin/psql/tab-complete.c | |
| parent | 68386fc15b8ba01b5a4c4ed98c4a4d4968817cc9 (diff) | |
Improved tab completion for CLUSTER VERBOSE.
Jeff Janes
Diffstat (limited to 'src/bin/psql/tab-complete.c')
| -rw-r--r-- | src/bin/psql/tab-complete.c | 30 | 
1 files changed, 28 insertions, 2 deletions
| diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index ef62a422eeb..8a748771983 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -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"); | 
