On Wed, Mar 31, 2021 at 12:47 PM Euler Taveira <eu...@eulerto.com> wrote: > ....
> Good question. IIRC the issue is that AlterPublicationStmt->tables has a list > element that was a relation_expr_list and was converted to > publication_table_list. If we share 'tables' with relation_expr_list (for > ALTER > PUBLICATION ... DROP TABLE) and publication_table_list (for the other ALTER > PUBLICATION ... ADD|SET TABLE), the OpenTableList() has to know what list > element it is dealing with. I think I came to the conclusion that it is less > uglier to avoid changing OpenTableList() and CloseTableList(). > > [Doing some experimentation...] > > Here is a patch that remove the referred code. It uses 2 distinct list > elements: relation_expr_list for ALTER PUBLICATION ... DROP TABLE and > publication_table_list for for ALTER PUBLICATION ... ADD|SET TABLE. A new > parameter was introduced to deal with the different elements of the list > 'tables'. AFAIK this is the latest patch available, but FYI it no longer applies cleanly on HEAD. git apply ../patches_misc/0001-Row-filter-for-logical-replication.patch ../patches_misc/0001-Row-filter-for-logical-replication.patch:518: trailing whitespace. error: patch failed: src/backend/parser/gram.y:426 error: src/backend/parser/gram.y: patch does not apply error: patch failed: src/backend/replication/logical/worker.c:340 error: src/backend/replication/logical/worker.c: patch does not apply -------- Kind Regards, Peter Smith. Fujitsu Australia.