Re: Add missing tab completion for ALTER TABLE ADD COLUMN IF NOT EXISTS

From: Kirill Reshke <reshkekirill(at)gmail(dot)com>
To: Karina Litskevich <litskevichkarina(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Add missing tab completion for ALTER TABLE ADD COLUMN IF NOT EXISTS
Date: 2024-11-10 12:43:21
Message-ID: CALdSSPiyka2GtFO=fbvLidOektfkXbk4+7w-+q+37=aMmCizHQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, 7 Nov 2024 at 22:33, Karina Litskevich
<litskevichkarina(at)gmail(dot)com> wrote:
>
> I looked through the new set of patches.
>
> On Thu, Nov 7, 2024 at 2:42 PM Kirill Reshke <reshkekirill(at)gmail(dot)com> wrote:
> > v3-0002 patch actually mixes two types of completion. First one, which
> > adds a data type completion for ADD ATTRIBUTE, is pretty useful.
> > similar to existing tab completion for `ALTER TABLE xxx ADD [IF NOT
> > EXISTS] [COLUMN] yyy `.
>
> As I understand, it's v4-0001. Looks fine, I agree that it's a useful
> completion and I can't see any arguments against that.
>
> > The second one (CASCADE/RESTRICT) is dubious, and I'm also not sure if
> > we really need it, so perhaps we should wait for some other views..
> > For this reason, I split v3-0002 into two separate patches.
>
> And this is v4-0002. Agreed that we should wait for another opinion to
> see if it's needed. Anyway, I have a few remarks here:
> 1) "ALTER TYPE xxx RENAME VALUE yyy TO zzz" can't be followed by
> CASCADE/RESTRICT at least according to the docs [1].

Yes, my bad. I removed "VALUE".

> 2) I still can't see why you don't complete "ALTER TYPE ... ALTER
> ATTRIBUTE ... TYPE ..." with CASCADE/RESTRICT.

My bad, fixed this in v5. Thank you.

> By the way, I suggest adding a completion of "ALTER TYPE ... ALTER
> ATTRIBUTE ... TYPE" with the list of types while we are here. It should
> probably go together with v4-0001.

Surprisingly this is already supported in an interesting manner. psql
will tab-complete everything that end with token "TYPE" with list of
datatypes:

```
reshke=# FOO BAR BAZ
<tab> *nothing*
reshke=# FOO BAR BAZ TYPE
<tab>
Display all 119 possibilities? (y or n)
```

> Next, v4-0003 is the same as v3-0003, and we already agreed on this.
> (Just a note for myself.)
>
> > I also want to propose an Access method completion for create M.V.
> > <foo> using. This is a patch I forgot to attach in my last email.
> > Please, see v4-0004
>
> In v4-0004 I like the idea to add this completion, but I have some
> remarks to implementation:
> 1) Try to keep comments identical, at least in one piece of code. Right
> now you have "CREATE MATERIALIZED VIEW <name>" and "CREATE MATERIALIZED
> VIEW <sth>" within three consecutive lines. I can see there was the
> same problem before your changes, so it's not exactly your fault. Let's
> correct it, though.

Ok, sure. I did the correction.

> 2) The comment
> /* Complete CREATE MATERIALIZED VIEW <name> with AS */
> is no longer correct since you've changed
> - COMPLETE_WITH("AS");
> to
> + COMPLETE_WITH("AS", "USING");
> Please fix it.

Nice catch! Fixed.

> I hope to look more thoroughly into tab-complete.in.c tomorrow or on
> Monday to see if there are any other problems I can't see at first
> glance. I'll send another mail when I get to do this.

Your effort is much appreciated.

>
> [1] https://www.postgresql.org/docs/current/sql-altertype.html
>
>
> Best regards,
> Karina Litskevich
> Postgres Professional: http://postgrespro.com/

PFA v5.

--
Best regards,
Kirill Reshke

Attachment Content-Type Size
v5-0002-Add-CASCADE-RESRTICT-to-ALTER-TYPE-patterns.patch application/octet-stream 2.3 KB
v5-0004-Suggest-table-access-method-for-create-maateriali.patch application/octet-stream 1.7 KB
v5-0003-Add-missing-tab-completion-for-CREATE-TEMP-TABLE-.patch application/octet-stream 1.1 KB
v5-0001-Enhance-tab-completion-to-ALTER-TYPE-ADD-ATTRIBUT.patch application/octet-stream 1.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2024-11-10 13:28:40 Re: [BUG] Fix DETACH with FK pointing to a partitioned table fails
Previous Message wenhui qiu 2024-11-10 11:25:45 Re: New GUC autovacuum_max_threshold ?