Re: \h tab-completion

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Beena Emerson <memissemerson(at)gmail(dot)com>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: \h tab-completion
Date: 2017-01-25 06:13:55
Message-ID: CAB7nPqQxBna=N=NhfcbTVkiUB9v0-mvcdO3X-q91U003knPC7w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jan 25, 2017 at 3:03 PM, Beena Emerson <memissemerson(at)gmail(dot)com> wrote:
> I think the following change in tab-complete.c would do the trick.
>
> - else if (Matches1("ALTER"))
> + else if (TailMatches1("ALTER"))

Nope. This change breaks a bunch of subcommands, take for example
ALTER TABLE foo ALTER, which would be completed to all the potential
objects of ALTER commands with your patch, but in this case for
example we just need to look at the column names, CONSTRAINT and
COLUMN. CREATE is not part of any subcommands so that's easy to see it
work with \h. What I think you should do is making the code path of
\\h smarter with some exceptions by using TailMatchesCS2() for ALTER.
There is as well the case of DROP commands that should be treated by
the way.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Beena Emerson 2017-01-25 06:15:43 Re: \h tab-completion
Previous Message Michael Paquier 2017-01-25 06:03:57 Re: [WIP] RE: DECLARE STATEMENT setting up a connection in ECPG