=== Applying patches on top of PostgreSQL commit ID e9d723487b262e8d2bb883e4f8e799c3774265c7 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Thu Mar 26 13:26:26 UTC 2026 On branch cf/5483 nothing to commit, working tree clean === using 'git am' to apply patch ./v2-Refine-checking-of-snapshot-type.patch === Applying: Refine checking of snapshot type. Using index info to reconstruct a base tree... M src/backend/access/heap/heapam_handler.c M src/backend/access/index/indexam.c M src/backend/access/nbtree/nbtree.c M src/include/utils/snapmgr.h Falling back to patching base and 3-way merge... Auto-merging src/include/utils/snapmgr.h CONFLICT (content): Merge conflict in src/include/utils/snapmgr.h Auto-merging src/backend/access/nbtree/nbtree.c CONFLICT (content): Merge conflict in src/backend/access/nbtree/nbtree.c Auto-merging src/backend/access/index/indexam.c Auto-merging src/backend/access/heap/heapam_handler.c error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 Refine checking of snapshot type. When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". === using patch(1) to apply patch ./v2-Refine-checking-of-snapshot-type.patch === patching file src/backend/access/heap/heapam_handler.c Hunk #1 FAILED at 159. 1 out of 1 hunk FAILED -- saving rejects to file src/backend/access/heap/heapam_handler.c.rej patching file src/backend/access/index/indexam.c Hunk #1 FAILED at 445. 1 out of 1 hunk FAILED -- saving rejects to file src/backend/access/index/indexam.c.rej patching file src/backend/access/nbtree/nbtree.c Hunk #1 FAILED at 423. 1 out of 1 hunk FAILED -- saving rejects to file src/backend/access/nbtree/nbtree.c.rej patching file src/include/utils/snapmgr.h Hunk #1 FAILED at 51. 1 out of 1 hunk FAILED -- saving rejects to file src/include/utils/snapmgr.h.rej Removing src/backend/access/heap/heapam_handler.c.rej Removing src/backend/access/index/indexam.c.rej Removing src/backend/access/nbtree/nbtree.c.rej Removing src/include/utils/snapmgr.h.rej === using 'git apply' to apply patch ./v2-Refine-checking-of-snapshot-type.patch === Applied patch to 'src/backend/access/heap/heapam_handler.c' cleanly. Applied patch to 'src/backend/access/index/indexam.c' cleanly. Applied patch to 'src/backend/access/nbtree/nbtree.c' with conflicts. Applied patch to 'src/include/utils/snapmgr.h' with conflicts. U src/backend/access/nbtree/nbtree.c U src/include/utils/snapmgr.h diff --cc src/backend/access/nbtree/nbtree.c index 6d870e4ebe7,cdd81d147cc..00000000000 --- a/src/backend/access/nbtree/nbtree.c +++ b/src/backend/access/nbtree/nbtree.c @@@ -418,6 -424,7 +418,10 @@@ btrescan(IndexScanDesc scan, ScanKey sc */ so->dropPin = (!scan->xs_want_itup && IsMVCCLikeSnapshot(scan->xs_snapshot) && ++<<<<<<< ours ++======= + RelationNeedsWAL(scan->indexRelation) && ++>>>>>>> theirs scan->heapRelation != NULL); so->markItemIndex = -1; diff --cc src/include/utils/snapmgr.h index 1c550096393,4f1e910bc75..00000000000 --- a/src/include/utils/snapmgr.h +++ b/src/include/utils/snapmgr.h @@@ -54,15 -54,15 +54,25 @@@ extern PGDLLIMPORT SnapshotData Snapsho /* * Is the snapshot implemented as an MVCC snapshot (i.e. it uses * SNAPSHOT_MVCC)? If so, there will be at most one visible tuple in a chain ++<<<<<<< ours + * of updated tuples, and each visible tuple will be seen exactly once. ++======= + * of updated tuples. ++>>>>>>> theirs */ #define IsMVCCSnapshot(snapshot) \ ((snapshot)->snapshot_type == SNAPSHOT_MVCC) /* ++<<<<<<< ours + * Special kind of MVCC snapshot, used during logical decoding. The visibility + * is checked from the perspective of an already committed transaction that is + * being decoded. ++======= + * Special kind of MVCC snapshot, to be used during logical decoding. The + * visibility is checked from the perspective of an already committed + * transaction, which we're trying to decode. ++>>>>>>> theirs */ #define IsHistoricMVCCSnapshot(snapshot) \ ((snapshot)->snapshot_type == SNAPSHOT_HISTORIC_MVCC)