On Thu, Jan 28, 2016 at 10:50 PM, Masahiko Sawada <sawada.mshk@gmail.com> wrote:
> On Thu, Jan 28, 2016 at 10:15 PM, Michael Paquier
> <michael.paquier@gmail.com> wrote:
>> On Thu, Jan 28, 2016 at 9:32 PM, Fujii Masao <masao.fujii@gmail.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 change breaks tab completion for ALTER TABLE ... SET
> [WITH/LOGGED/UNLOGGED].
Thanks for the review!
Fixed.
> It think it should be
>> + else if (Matches2("SET", MatchAny) &&
>
> Related to it, I found tab completion for ALTER TABLE .. SET WITH,
> which doesn't working well.
> Patch is attached.
Please see the latest patch that I posted upthread.
I included your patch in that patch.
Regards,
--
Fujii Masao