Hi, On Fri, Oct 16, 2026 at 2:57 PM Nisha Moond <[email protected]> wrote: > > Thanks for updated patches. The fix looks good to me. A few comments: > > 1) v5_PG18-0001: the commit message mentions > RelationFindDeletedTupleInfoByIndex() and the update_deleted vs > update_missing case, but it doesn't apply to PG18. Maybe that part > could be dropped.
Thanks for the comments. I added a general statement that update_delete changes only apply to PG19 for now. > > A couple of nits, please consider if they make sense: > > 2) The updated header comment of RelationFindReplTupleByIndex() reads > a bit confusing to me, how about something like: > > * 'skipduplicates' specifies whether the first matching tuple can be used > * without comparing it against 'searchslot', unless the index scan sets > * xs_recheck (as with a lossy GiST index for WITHOUT OVERLAPS), in which case > * only the index key columns are compared, using the index's own equality > * semantics. If false, all matching tuples are compared against 'searchslot', > * which must contain a complete row. Changed as suggested. > > 3) 035_conflicts.pl: > +ok( $node_A->poll_query_until( > + 'postgres', > + "SELECT xmin::text = '$pinned_xid' FROM > pg_replication_slots WHERE slot_name 'pg_conflict_detection'" > + ), > > Should we use "xmin::text::bigint = $pinned_xid" here, to match the > other slot xmin checks in the same file? I changed to xmin = $pinned_xid as equality does not need type conversion. Please see the updated patch set. Best Regards, Zhijie Hou
v6_PG18-0001-Fix-logical-replication-with-multirange-WITH.patch
Description: Binary data
v6_PG19-0001-Fix-logical-replication-with-multirange-WITH.patch
Description: Binary data
v6-0001-Fix-logical-replication-with-multirange-WITHOUT-O.patch
Description: Binary data
