=== Applying patches on top of PostgreSQL commit ID 3ff475ac12ec8d8d07cf3fd86144659285a59d83 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Sun Oct 4 20:10:30 UTC 2026 On branch cf/7177 nothing to commit, working tree clean === using 'git am' to apply patch ./v2-0001-Use-the-vacuum-buffer-access-strategy-in-GIN-pend.patch === Applying: Use the vacuum buffer access strategy in GIN pending-list cleanup. Using index info to reconstruct a base tree... M src/backend/access/gin/ginvacuum.c Falling back to patching base and 3-way merge... Auto-merging src/backend/access/gin/ginvacuum.c CONFLICT (content): Merge conflict in src/backend/access/gin/ginvacuum.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 Use the vacuum buffer access strategy in GIN pending-list cleanup. 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-0001-Use-the-vacuum-buffer-access-strategy-in-GIN-pend.patch === patching file src/backend/access/gin/ginfast.c patching file src/backend/access/gin/ginvacuum.c Hunk #1 FAILED at 652. Hunk #2 succeeded at 778 with fuzz 1 (offset 12 lines). Hunk #3 FAILED at 781. 2 out of 3 hunks FAILED -- saving rejects to file src/backend/access/gin/ginvacuum.c.rej patching file src/include/access/gin_private.h Unstaged changes after reset: M src/backend/access/gin/ginfast.c M src/backend/access/gin/ginvacuum.c M src/include/access/gin_private.h Removing src/backend/access/gin/ginvacuum.c.rej === using 'git apply' to apply patch ./v2-0001-Use-the-vacuum-buffer-access-strategy-in-GIN-pend.patch === Applied patch to 'src/backend/access/gin/ginfast.c' cleanly. Applied patch to 'src/backend/access/gin/ginvacuum.c' with conflicts. Applied patch to 'src/include/access/gin_private.h' cleanly. U src/backend/access/gin/ginvacuum.c diff --cc src/backend/access/gin/ginvacuum.c index 2955553f368,c3ea1fbb15f..00000000000 --- a/src/backend/access/gin/ginvacuum.c +++ b/src/backend/access/gin/ginvacuum.c @@@ -659,12 -647,12 +659,17 @@@ ginbulkdelete(IndexVacuumInfo *info, In * us to remove from the index. We must force cleanup of the pending list * now, before vacuuming proper begins, to make sure nothing is missed. * - * When running in an autovacuum worker, we won't necessarily _fully_ - * empty the pending list. This is still safe; concurrent inserters - * cannot insert new tuples whose TIDs VACUUM needs us to remove. + * When called by autovacuum, we won't necessarily _fully_ empty the + * pending list. This is still safe; concurrent inserters cannot insert + * new tuples whose TIDs VACUUM needs us to remove. */ ++<<<<<<< ours + ginInsertCleanup(&gvs.ginstate, !info->is_autovacuum, + false, true, stats); ++======= + ginInsertCleanup(&gvs.ginstate, !AmAutoVacuumWorkerProcess(), + false, true, stats, info->strategy); ++>>>>>>> theirs /* we'll re-count the tuples each time */ stats->num_index_tuples = 0; @@@ -775,10 -763,11 +780,11 @@@ ginvacuumcleanup(IndexVacuumInfo *info */ if (info->analyze_only) { - if (AmAutoVacuumWorkerProcess()) + if (info->is_autovacuum) { initGinState(&ginstate, index); - ginInsertCleanup(&ginstate, false, true, true, stats); + ginInsertCleanup(&ginstate, false, true, true, stats, + info->strategy); } return stats; } @@@ -791,8 -780,8 +797,13 @@@ { stats = palloc0_object(IndexBulkDeleteResult); initGinState(&ginstate, index); ++<<<<<<< ours + ginInsertCleanup(&ginstate, !info->is_autovacuum, + false, true, stats); ++======= + ginInsertCleanup(&ginstate, !AmAutoVacuumWorkerProcess(), + false, true, stats, info->strategy); ++>>>>>>> theirs } memset(&idxStat, 0, sizeof(idxStat));