=== Applying patches on top of PostgreSQL commit ID 3a3524e9acf4b22e7b3100a3710be3adffe89874 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Fri Sep 11 18:42:26 UTC 2026 On branch cf/6976 nothing to commit, working tree clean === using 'git am' to apply patch ./v4-0001-pg_plan_advice-Add-NO_SCAN-and-NO_JOIN_METHOD-tag.patch === Applying: pg_plan_advice: Add NO_SCAN and NO_JOIN_METHOD tags Using index info to reconstruct a base tree... M contrib/pg_plan_advice/pgpa_ast.c M contrib/pg_plan_advice/pgpa_parser.y M contrib/pg_plan_advice/pgpa_planner.c M contrib/pg_plan_advice/pgpa_trove.c M doc/src/sgml/pgplanadvice.sgml Falling back to patching base and 3-way merge... Auto-merging doc/src/sgml/pgplanadvice.sgml Auto-merging contrib/pg_plan_advice/pgpa_trove.c Auto-merging contrib/pg_plan_advice/pgpa_planner.c CONFLICT (content): Merge conflict in contrib/pg_plan_advice/pgpa_planner.c Auto-merging contrib/pg_plan_advice/pgpa_parser.y Auto-merging contrib/pg_plan_advice/pgpa_ast.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 pg_plan_advice: Add NO_SCAN and NO_JOIN_METHOD tags 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 ./v4-0001-pg_plan_advice-Add-NO_SCAN-and-NO_JOIN_METHOD-tag.patch === patching file contrib/pg_plan_advice/Makefile patching file contrib/pg_plan_advice/expected/no_join.out patching file contrib/pg_plan_advice/expected/no_scan.out patching file contrib/pg_plan_advice/meson.build patching file contrib/pg_plan_advice/pgpa_ast.c Hunk #1 succeeded at 59 (offset 1 line). Hunk #2 succeeded at 162 (offset 1 line). patching file contrib/pg_plan_advice/pgpa_ast.h patching file contrib/pg_plan_advice/pgpa_parser.y patching file contrib/pg_plan_advice/pgpa_planner.c Hunk #1 succeeded at 156 (offset 1 line). Hunk #2 succeeded at 951 (offset 1 line). Hunk #3 succeeded at 1051 (offset 1 line). Hunk #4 succeeded at 1154 (offset 1 line). Hunk #5 succeeded at 1213 (offset 1 line). Hunk #6 succeeded at 1262 (offset 1 line). Hunk #7 succeeded at 1732 (offset 1 line). Hunk #8 succeeded at 1794 (offset 1 line). Hunk #9 FAILED at 1808. Hunk #10 succeeded at 1853 (offset 3 lines). Hunk #11 succeeded at 1918 (offset 5 lines). Hunk #12 succeeded at 1971 (offset 5 lines). Hunk #13 succeeded at 2015 (offset 5 lines). Hunk #14 succeeded at 2052 (offset 5 lines). 1 out of 14 hunks FAILED -- saving rejects to file contrib/pg_plan_advice/pgpa_planner.c.rej patching file contrib/pg_plan_advice/pgpa_scanner.l patching file contrib/pg_plan_advice/pgpa_trove.c Hunk #1 succeeded at 167 (offset 1 line). Hunk #2 succeeded at 198 (offset 1 line). patching file contrib/pg_plan_advice/pgpa_walker.c patching file contrib/pg_plan_advice/sql/no_join.sql patching file contrib/pg_plan_advice/sql/no_scan.sql patching file doc/src/sgml/pgplanadvice.sgml Unstaged changes after reset: M contrib/pg_plan_advice/Makefile M contrib/pg_plan_advice/meson.build M contrib/pg_plan_advice/pgpa_ast.c M contrib/pg_plan_advice/pgpa_ast.h M contrib/pg_plan_advice/pgpa_parser.y M contrib/pg_plan_advice/pgpa_planner.c M contrib/pg_plan_advice/pgpa_scanner.l M contrib/pg_plan_advice/pgpa_trove.c M contrib/pg_plan_advice/pgpa_walker.c M doc/src/sgml/pgplanadvice.sgml Removing contrib/pg_plan_advice/expected/no_join.out Removing contrib/pg_plan_advice/expected/no_scan.out Removing contrib/pg_plan_advice/pgpa_planner.c.rej Removing contrib/pg_plan_advice/sql/no_join.sql Removing contrib/pg_plan_advice/sql/no_scan.sql === using 'git apply' to apply patch ./v4-0001-pg_plan_advice-Add-NO_SCAN-and-NO_JOIN_METHOD-tag.patch === Applied patch to 'contrib/pg_plan_advice/Makefile' cleanly. Falling back to direct application... Falling back to direct application... Applied patch to 'contrib/pg_plan_advice/meson.build' cleanly. Applied patch to 'contrib/pg_plan_advice/pgpa_ast.c' cleanly. Applied patch to 'contrib/pg_plan_advice/pgpa_ast.h' cleanly. Applied patch to 'contrib/pg_plan_advice/pgpa_parser.y' cleanly. Applied patch to 'contrib/pg_plan_advice/pgpa_planner.c' with conflicts. Applied patch to 'contrib/pg_plan_advice/pgpa_scanner.l' cleanly. Applied patch to 'contrib/pg_plan_advice/pgpa_trove.c' cleanly. Applied patch to 'contrib/pg_plan_advice/pgpa_walker.c' cleanly. Falling back to direct application... Falling back to direct application... Applied patch to 'doc/src/sgml/pgplanadvice.sgml' cleanly. U contrib/pg_plan_advice/pgpa_planner.c diff --cc contrib/pg_plan_advice/pgpa_planner.c index c57df4aa7f0,61cc2fb9a45..00000000000 --- a/contrib/pg_plan_advice/pgpa_planner.c +++ b/contrib/pg_plan_advice/pgpa_planner.c @@@ -1649,10 -1808,20 +1809,26 @@@ pgpa_planner_apply_scan_advice(RelOptIn { pgpa_trove_entry *my_entry = &scan_entries[i]; uint64 my_scan_type = all_scan_mask; + uint64 my_no_scan_mask; ++<<<<<<< ours + CHECK_FOR_INTERRUPTS(); + + /* Translate our advice tags to a scan strategy advice value. */ ++======= + /* + * NO_ scan tags just accumulate a set of forbidden methods; handle + * them separately from the positive scan-type logic below. + */ + my_no_scan_mask = pgpa_no_scan_mask_from_advice_tag(my_entry->tag); + if (my_no_scan_mask != 0) + { + no_scan_indexes = bms_add_member(no_scan_indexes, i); + continue; + } + + /* Translate positive advice tags to a scan strategy value. */ ++>>>>>>> theirs if (my_entry->tag == PGPA_TAG_DO_NOT_SCAN) my_scan_type = 0; else if (my_entry->tag == PGPA_TAG_BITMAP_HEAP_SCAN)