Re: PATCH: psql tab completion for SELECT
David Fetter <david@fetter.org>
From: David Fetter <david@fetter.org>
To: Edmund Horner <ejrh00@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2017-11-12T20:13:22Z
Lists: pgsql-hackers
On Mon, Nov 06, 2017 at 05:28:55PM +1300, Edmund Horner wrote:
> Hi pgsql-hackers,
>
> Here's a little draft patch to add *some* tab completion ability for
> SELECT in psql. I have often missed the ability, especially with
> invocations of utility functions.
>
> It would be nice to be able to suggest column names from the
> relevant tables in the query, but, as the SQL language puts the
> column list before the FROM clause, we have to use columns from all
> tables; I'm certainly not the first to be frustrated by this
> language feature, but we can't do much about it.
>
> What my patch does:
>
> For a command line with the single word SELECT, column names and
> function names will be used for completions of the next word.
> Function names have a "(" suffix added, largely because it makes
> them easier to distinguish in the completion list.
>
> Only the first select-list item can be tab-completed; i.e. SELECT
> foo, b<tab> won't find column bar.
That can be fixed later.
> Examples:
>
> postgres=# select rel<tab>
> relacl relchecks relhasindex
> relhassubclass (etc.)
>
> postgres=# select str<tab>
> string_to_array( strip( strpos(
Neat!
Please add this to the upcoming (2018-01) commitfest at
https://commitfest.postgresql.org/
Best,
David.
--
David Fetter <david(at)fetter(dot)org> http://fetter.org/
Phone: +1 415 235 3778
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate
Commits
-
In psql, restore old behavior of Query_for_list_of_functions.
- b6e132ddc860 11.0 landed
-
Add infrastructure to support server-version-dependent tab completion.
- 722408bcd1bd 11.0 landed