Re: IF (NOT) EXISTS in psql-completion - Mailing list pgsql-hackers

From Artur Zakirov
Subject Re: IF (NOT) EXISTS in psql-completion
Date
Msg-id 56C1C80D.7020101@postgrespro.ru
Whole thread Raw
In response to IF (NOT) EXISTS in psql-completion  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
Responses Re: IF (NOT) EXISTS in psql-completion
List pgsql-hackers
On 05.02.2016 11:09, Kyotaro HORIGUCHI wrote:
> Hello,
>
> I considered how to make tab-completion robust for syntactical
> noises, in other words, optional words in syntax. Typically "IF
> (NOT) EXISTS", UNIQUE and TEMPORARY are words that don't affect
> further completion. However, the current delimit-matching
> mechanism is not so capable (or is complexty-prone) to live with
> such noises. I have proposed to use regular expressions or
> simplified one for the robustness but it was too complex to be
> applied.
>
> This is another answer for the problem. Removal of such words
> on-the-fly makes further matching more robust.
>
> Next, currently some CREATE xxx subsyntaxes of CREATE SCHEMA are
> matched using TailMatching but it makes difficult the
> options-removal operations, which needs forward matching.
>
> So I introduced two things to resolve them by this patch.
>

I did some tests with your patch. But I am not confident in tab-complete.c.

And I have some notes:

1 - I execute git apply command and get the following warning:

../0001-Suggest-IF-NOT-EXISTS-for-tab-completion-of-psql.patch:302: 
trailing whitespace./*
warning: 1 line adds whitespace errors.

This is because of superfluous whitespace I think.

2 - In psql I write "create table if" and press <TAB>. psql adds the 
following:

create table IF NOT EXISTS

I think psql should continue with lower case if user wrote query with 
loser case text:

create table if not exists

3 - Same with "IF EXISTS". If a write "alter view if" and press <TAB> 
psql writes:

alter view IF EXISTS

-- 
Artur Zakirov
Postgres Professional: http://www.postgrespro.com
Russian Postgres Company



pgsql-hackers by date:

Previous
From: Ashutosh Bapat
Date:
Subject: Re: postgres_fdw join pushdown (was Re: Custom/Foreign-Join-APIs)
Next
From: Eugene Kazakov
Date:
Subject: Re: Small PATCH: check of 2 Perl modules