On Thu, Jan 28, 2016 at 9:32 PM, Fujii Masao <masao.fu...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers