Re: logical decoding and replication of sequences
От | vignesh C |
---|---|
Тема | Re: logical decoding and replication of sequences |
Дата | |
Msg-id | CALDaNm3q_9AnXPwQ8fOod2=OhsB4Bz9UYrxOJ1Jnq85pZWXhnQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: logical decoding and replication of sequences (Tomas Vondra <tomas.vondra@enterprisedb.com>) |
Ответы |
Re: logical decoding and replication of sequences
|
Список | pgsql-hackers |
On Fri, Mar 25, 2022 at 3:29 AM Tomas Vondra <tomas.vondra@enterprisedb.com> wrote: > > Hi, > > Pushed, after going through the patch once more, addressed the remaining > FIXMEs, corrected a couple places in the docs and comments, etc. Minor > tweaks, nothing important. While rebasing patch [1] I found a couple of comments: static void ObjectsInPublicationToOids(List *pubobjspec_list, ParseState *pstate, - List **rels, List **schemas) + List **tables, List **sequences, + List **tables_schemas, List **sequences_schemas, + List **schemas) { ListCell *cell; PublicationObjSpec *pubobj; @@ -185,12 +194,23 @@ ObjectsInPublicationToOids(List *pubobjspec_list, ParseState *pstate, switch (pubobj->pubobjtype) { case PUBLICATIONOBJ_TABLE: - *rels = lappend(*rels, pubobj->pubtable); + *tables = lappend(*tables, pubobj->pubtable); + break; + case PUBLICATIONOBJ_SEQUENCE: + *sequences = lappend(*sequences, pubobj->pubtable); break; case PUBLICATIONOBJ_TABLES_IN_SCHEMA: schemaid = get_namespace_oid(pubobj->name, false); /* Filter out duplicates if user specifies "sch1, sch1" */ + *tables_schemas = list_append_unique_oid(*tables_schemas, schemaid); + *schemas = list_append_unique_oid(*schemas, schemaid); + break; Now tables_schemas and sequence_schemas are being updated and used in ObjectsInPublicationToOids, schema parameter is no longer being used after processing in ObjectsInPublicationToOids, I felt we can remove that parameter. /* ALTER PUBLICATION <name> ADD */ else if (Matches("ALTER", "PUBLICATION", MatchAny, "ADD")) - COMPLETE_WITH("ALL TABLES IN SCHEMA", "TABLE"); + COMPLETE_WITH("ALL TABLES IN SCHEMA", "ALL SEQUENCES IN SCHEMA", "TABLE", "SEQUENCE"); Tab completion of alter publication for ADD and DROP is the same, we could combine it. Attached a patch for the same. Thoughts? [1] - https://www.postgresql.org/message-id/CALDaNm3%3DJrucjhiiwsYQw5-PGtBHFONa6F7hhWCXMsGvh%3DtamA%40mail.gmail.com Regards, Vignesh
Вложения
В списке pgsql-hackers по дате отправления: