Re: PATCH: psql tab completion for SELECT

From: David Fetter <david(at)fetter(dot)org>
To: Edmund Horner <ejrh00(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: PATCH: psql tab completion for SELECT
Date: 2017-11-12 20:13:22
Message-ID: 20171112201322.GA16913@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-11-12 20:21:45 Re: Variable substitution in psql backtick expansion
Previous Message Joe Conway 2017-11-12 19:14:33 Re: Row Level Security Bug ?