Re: psql: tab-completion fails SET var=

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Erik Rijkers <er@xs4all.nl>
Cc: pgsql-hackers@postgresql.org
Date: 2012-08-28T16:55:08Z
Lists: pgsql-hackers

Attachments

On Fri, Mar 30, 2012 at 08:15:22PM +0200, Erik Rijkers wrote:
> (in hopes that the current changes to tab-completion will help to get this fixed)
> 
> tab-completion goes wrong on SET setting=...
> 
> example:
> 
> If you want to input "set search_path=myschema;" without spaces around '=',
> and you try tab-completion halfway the schemaname:
> 
> set search_path=mysch
>                       ^tab
> 
> then the initial part of the schema name ('mysch') gets removed and replaced with 'TO'.
> 
> So that you now have:
> 
> set search_path=TO <cursor>
> 
> You lose the part of the schema name that was already input.
> 
> With spaces that doesn't happen, but after all tabcompletion is about avoiding keystrokes and errors.
> 
> Tab-completion is great and this search_path-annoyance happens to me all the time; my fingers
> can't seem to learn this exception.
> 
> (pgsql 9.2devel, problem also in latest 9.1.3)

I have fixed this with the attached patch.  It does not do any further
competion of DEFAULT or other known settings if the equal sign has no
space before it.

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +