Here are some review comments for v62-0002 ~~~
1. src/backend/replication/pgoutput/pgoutput.c - pgoutput_row_filter_update_check + * If the change is to be replicated this function returns true, else false. + * + * Examples: Let's say the old tuple satisfies the row filter but the new tuple + * doesn't. Since the old tuple satisfies, the initial table synchronization + * copied this row (or another method was used to guarantee that there is data + * consistency). However, after the UPDATE the new tuple doesn't satisfy the The word "Examples:" should be on a line by itself; not merged with the 1st example "Let's say...". ~~~ 2. src/backend/replication/pgoutput/pgoutput.c - pgoutput_row_filter_update_check + /* + * For updates, both the new tuple and old tuple needs to be checked + * against the row filter. The new tuple might not have all the replica + * identity columns, in which case it needs to be copied over from the old + * tuple. + */ Typo: "needs to be checked" --> "need to be checked" ~~~ 3. src/backend/replication/pgoutput/pgoutput.c - pgoutput_row_filter_init Missing blank line before a couple of block comments, here: bool pub_no_filter = false; List *schemarelids = NIL; /* * If the publication is FOR ALL TABLES then it is treated the * same as if this table has no row filters (even if for other * publications it does). */ if (pub->alltables) pub_no_filter = true; /* * If the publication is FOR ALL TABLES IN SCHEMA and it overlaps * with the current relation in the same schema then this is also * treated same as if this table has no row filters (even if for * other publications it does). */ else ~~~ 4. src/backend/replication/pgoutput/pgoutput.c - pgoutput_row_filter_init This function was refactored out of the code from pgoutput_row_filter in the v62-0001 patch. So probably there are multiple comments from my earlier v62-0001 review [1] of that pgoutput_row_filter function, that now also apply to this pgoutput_row_filter_init function. ~~~ 5. src/tools/pgindent/typedefs.list - ReorderBufferChangeType Actually, the typedef for ReorderBufferChangeType was added in the 62-0001, so this typedef change should've been done in patch 0001 and it can be removed from patch 0002 ------ [1] https://www.postgresql.org/message-id/CAHut%2BPucFM3Bt-gaTT7Pr-Y_x%2BR0y%3DL7uqbhjPMUsSPhdLhRpA%40mail.gmail.com Kind Regards, Peter Smith. Fujitsu Australia