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
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 ? |