Re: row filtering for logical replication

Поиск
Список
Период
Сортировка
От vignesh C
Тема Re: row filtering for logical replication
Дата
Msg-id CALDaNm0g3_P-DuFoCio_qvABG1x_J9j0c-irQUz1fhsCjvPCrw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: row filtering for logical replication  (Ajin Cherian <itsajin@gmail.com>)
Ответы Re: row filtering for logical replication  (Peter Smith <smithpb2250@gmail.com>)
Список pgsql-hackers
On Tue, Nov 23, 2021 at 4:58 PM Ajin Cherian <itsajin@gmail.com> wrote:
>
> Attaching a new patchset v41 which includes changes by both Peter and myself.

Few comments on v41-0002 patch:
1) Tab completion should be handled for completion of "WITH(" in
"create publication pub1 for table t1 where (c1 > 10)":
@@ -2757,10 +2765,13 @@ psql_completion(const char *text, int start, int end)
        else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR",
"ALL", "TABLES"))
                COMPLETE_WITH("IN SCHEMA", "WITH (");
        else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR",
"TABLE", MatchAny))
-               COMPLETE_WITH("WITH (");
+               COMPLETE_WITH("WHERE (", "WITH (");
        /* Complete "CREATE PUBLICATION <name> FOR TABLE" with "<table>, ..." */
        else if (Matches("CREATE", "PUBLICATION", MatchAny, "FOR", "TABLE"))
                COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
+       /* "CREATE PUBLICATION <name> FOR TABLE <name> WHERE (" -
complete with table attributes */
+       else if (HeadMatches("CREATE", "PUBLICATION", MatchAny) &&
TailMatches("WHERE", "("))
+               COMPLETE_WITH_ATTR(prev3_wd, "");

2) Tab completion completes with "WHERE (" in case of "alter
publication pub1 add table t1,":
+       /* ALTER PUBLICATION <name> SET TABLE <name> */
+       /* ALTER PUBLICATION <name> ADD TABLE <name> */
+       else if (Matches("ALTER", "PUBLICATION", MatchAny, "SET|ADD",
"TABLE", MatchAny))
+               COMPLETE_WITH("WHERE (");

Should this be changed to:
+       /* ALTER PUBLICATION <name> SET TABLE <name> */
+       /* ALTER PUBLICATION <name> ADD TABLE <name> */
+       else if (Matches("ALTER", "PUBLICATION", MatchAny, "SET|ADD",
"TABLE", MatchAny) && (!ends_with(prev_wd, ','))
+               COMPLETE_WITH("WHERE (");

Regards,
Vignesh



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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: Reduce function call costs on ELF platforms
Следующее
От: John Naylor
Дата:
Сообщение: Re: [Proposal] Fully WAL logged CREATE DATABASE - No Checkpoints