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 по дате отправления: