psql: tab completions for 'WITH'

Josh Kupershmidt <schmiddy@gmail.com>

From: Josh Kupershmidt <schmiddy@gmail.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2012-04-04T05:34:13Z
Lists: pgsql-hackers

Attachments

Hi all,

I noticed psql's tab-completion for 'WITH' is a bit overeager. If you
try to tab-complete commands like:
  ALTER ROLE jsmith WITH [TAB]
  COPY tbl FROM 'filename' WITH [TAB]

you'll get 'RECURSIVE' unhelpfully filled in. I think 'RECURSIVE'
should only be suggested if 'WITH' is the first and only word of the
line.

On a related note, I found it annoying that after fixing the above
problem, trying:
    ALTER ROLE jsmith WITH [TAB]
    CREATE ROLE jsmith WITH [TAB]

didn't suggest any tab-completions -- it only works if you leave off
the 'WITH' noise word, which I happen to use.

Attached are fixes for both of these gripes. I'll add to the next CF.

Josh