Re: TAB completion for ALTER TABLE ... ALTER CONSTRAINT ... ENFORCED

Поиск
Список
Период
Сортировка
От Kirill Reshke
Тема Re: TAB completion for ALTER TABLE ... ALTER CONSTRAINT ... ENFORCED
Дата
Msg-id CALdSSPh5vYRNnt8M4px=n8vcua1YsPkJzTTxd8pC61JTFceLqg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: TAB completion for ALTER TABLE ... ALTER CONSTRAINT ... ENFORCED  (Roman Khapov <rkhapov@yandex-team.ru>)
Список pgsql-hackers
On Mon, 29 Dec 2025 at 20:13, Roman Khapov <rkhapov@yandex-team.ru> wrote:
>
>
>
> > On 11 Aug 2025, at 18:20, Kirill Reshke <reshkekirill@gmail.com> wrote:
> >
> > Hi hackers!
> >
> > While looking at [0] I noticed that  current psql tab-complete lacks support for
> >
> > ALTER TABLE ... ALTER CONSTRAINT ... [NOT] ENFORCED and
> >
> > ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT
> >
> > patterns.
>
> Hi!
>
> > COMPLETE_WITH("ENFORCED", "NOT ENFORCED", "NO INHERIT", "INHERIT");
>
> According to gram.y there might be DEFERRABLE and NOT DEFERRABLE, INITIALLY IMMEDIATE and INITIALLY DEFERRED (NOT
VALIDis acceptable by rules but not by the action)
 
>
> Maybe we can add them too? If so, i attached v2 patch with this options added.
>
> --
> Best regards,
> Roman Khapov
>
>
>


Thanks. PFA v3 with commit msg polishing, and added support for NOT -
statement patterns.

        }
+       /* if we have ALTER TABLE <sth> ALTER|DROP|RENAME CONSTRAINT
<constraint> NOT, provide DEFERRABLE or ENFORCED */
+       else if (Matches("ALTER", "TABLE", MatchAny,
"ALTER|DROP|RENAME", "CONSTRAINT", MatchAny, "NOT"))
+       {
+               COMPLETE_WITH("DEFERRABLE", "ENFORCED");
+       }
        /* ALTER TABLE <sth> VALIDATE CONSTRAINT <non-validated constraint> */
        else if (Matches("ALTER", "TABLE", MatchAny, "VALIDATE", "CONSTRAINT"))
        {


-- 
Best regards,
Kirill Reshke

Вложения

В списке pgsql-hackers по дате отправления: