From: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com> |
---|---|
To: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Several problems in tab-completions for SET/RESET |
Date: | 2016-01-29 02:53:51 |
Message-ID: | CAHGQGwHcD9hmW56Yo0-HuKtKaOLchvSa5V6OaiPDPpKxJ48LDw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Jan 28, 2016 at 10:15 PM, Michael Paquier
<michael(dot)paquier(at)gmail(dot)com> wrote:
> On Thu, Jan 28, 2016 at 9:32 PM, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:
>> I found that the following tab-completions for SET/RESET which
>> worked properly before doesn't work properly now in the master.
>>
>> 1. ALTER SYSTEM SET|RESET <tab> lists nothing.
>> 2. ALTER DATABASE xxx SET <tab> lists nothing.
>> 3. ALTER DATABASE xxx SET yyy <tab> lists nothing.
>> 4. ALTER DATABASE xxx SET datestyle TO <tab> lists nothing.
>>
>> Attached patch fixes those problems.
>
> - else if (Matches4("ALTER", "SYSTEM", "SET|RESET", MatchAny))
> + else if (Matches3("ALTER", "SYSTEM", "SET|RESET"))
> Good catch.
>
> - else if (Matches2("SET", MatchAny))
> + else if (TailMatches2("SET", MatchAny) &&
> + !TailMatches4("UPDATE|DOMAIN", MatchAny,
> MatchAny, MatchAny) &&
> + !TailMatches1("TABLESPACE|SCHEMA") &&
> + !ends_with(prev_wd, ')') &&
> + !ends_with(prev_wd, '='))
> COMPLETE_WITH_CONST("TO");
> This gets... unreadable.
>
> In order to maximize the amount of Matches() used, wouldn't it be
> better to complete a bit more the list of completions directly in
> ALTER DATABASE? This would make the code more readable.
Thanks for the review!
I removed the above and added the following for that case.
+ /* Complete ALTER DATABASE|FUNCTION|ROLE|USER ... SET <name> */
+ else if (Matches2("ALTER", "DATABASE|FUNCTION|ROLE|USER") &&
+ TailMatches2("SET", MatchAny))
+ COMPLETE_WITH_LIST2("FROM CURRENT", "TO");
Attached is the updated version of the patch.
I also added the change that Sawada suggested, to the patch.
Regards,
--
Fujii Masao
Attachment | Content-Type | Size |
---|---|---|
fix_tab_complete_for_set_v2.patch | text/x-patch | 2.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Fujii Masao | 2016-01-29 02:55:19 | Re: Several problems in tab-completions for SET/RESET |
Previous Message | Thomas Munro | 2016-01-29 02:19:23 | Re: proposal: add 'waiting for replication' to pg_stat_activity.state |