Re: Support tab completion for upper character inputs in psql

From: Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
To: tgl(at)sss(dot)pgh(dot)pa(dot)us
Cc: tanghy(dot)fnst(at)cn(dot)fujitsu(dot)com, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Support tab completion for upper character inputs in psql
Date: 2021-02-08 08:02:12
Message-ID: 20210208.170212.1547983279045749071.horikyota.ntt@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

At Sun, 07 Feb 2021 13:55:00 -0500, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote in
> "Tang, Haiying" <tanghy(dot)fnst(at)cn(dot)fujitsu(dot)com> writes:
> > When using psql I found there's no tab completion for upper character inputs. It's really inconvenient sometimes so I try to fix this problem in the attached patch.
>
> This looks like you're trying to force case-insensitive behavior
> whether that is appropriate or not. Does not sound like a good
> idea.

Agreed. However I'm not sure what the OP exactly wants, \set behaves
in a different but similar way.

=# \set c[tab]
=# \set COMP_KEYWORD_CASE _

However set doesn't. If it is what is wanted, the following change on
Query_for_list_of_set_vars works (only for the case of SET/RESET
commands).

diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index 5f0e775fd3..5c2a263785 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -725,7 +725,8 @@ static const SchemaQuery Query_for_list_of_statistics = {
" UNION ALL SELECT 'role' "\
" UNION ALL SELECT 'tablespace' "\
" UNION ALL SELECT 'all') ss "\
-" WHERE substring(name,1,%d)='%s'"
+" WHERE substring(name,1,%1$d)='%2$s' "\
+" OR pg_catalog.lower(substring(name,1,%1$d))=pg_catalog.lower('%2$s')"

#define Query_for_list_of_show_vars \
"SELECT name FROM "\

=# set AP[tab]
=# set application_name _

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Nancarrow 2021-02-08 08:04:27 Re: Parallel INSERT (INTO ... SELECT ...)
Previous Message Andy Fan 2021-02-08 07:43:47 Re: Extend more usecase for planning time partition pruning and init partition pruning.