Re: Redundant psql tab-completion for CREATE PUBLICATION

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Redundant psql tab-completion for CREATE PUBLICATION
Дата
Msg-id 5858.1537560079@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Redundant psql tab-completion for CREATE PUBLICATION  (Edmund Horner <ejrh00@gmail.com>)
Список pgsql-hackers
[ This seems to have slipped through the cracks, sorry about that ]

Edmund Horner <ejrh00@gmail.com> writes:
> While looking at Justin's patch for VACUUM completions, I found an
> existing bit of code that tries to match on a word with a space:
>    /* Complete "CREATE PUBLICATION <name> FOR TABLE <table>" */
>     else if (Matches4("CREATE", "PUBLICATION", MatchAny, "FOR TABLE"))
>         COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);

> I think the clause will never match the "FOR TABLE" word;

Yeah, that's certainly right.

> and can, in
> any case, be removed, as the the final check for completable "things"
> (at the end of psql_completion) will see "TABLE" and act
> appropriately.

But that only works for the table name immediately after TABLE, not
for a list of table names.  I think we need to fix it like this,
instead:

-    /* Complete "CREATE PUBLICATION <name> FOR TABLE <table>" */
-    else if (Matches4("CREATE", "PUBLICATION", MatchAny, "FOR TABLE"))
+    /* Complete "CREATE PUBLICATION <name> FOR TABLE <table>, ..." */
+    else if (HeadMatches5("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE"))
         COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);

Pushed like that.

            regards, tom lane


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

Предыдущее
От: Arthur Zakirov
Дата:
Сообщение: Re: [HACKERS] proposal: schema variables
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Re: [PATCH] Tab completion for ALTER DATABASE … SET TABLESPACE