Re: Several problems in tab-completions for SET/RESET
От | Michael Paquier |
---|---|
Тема | Re: Several problems in tab-completions for SET/RESET |
Дата | |
Msg-id | CAB7nPqQj=Q7myfuegRFQBjOWh96k9OFvJdgcK+EkimwHNb-VZw@mail.gmail.com обсуждение исходный текст |
Ответ на | Several problems in tab-completions for SET/RESET (Fujii Masao <masao.fujii@gmail.com>) |
Ответы |
Re: Several problems in tab-completions for SET/RESET
Re: Several problems in tab-completions for SET/RESET |
Список | pgsql-hackers |
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 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. -- Michael
В списке pgsql-hackers по дате отправления: