=== Applying patches on top of PostgreSQL commit ID 972c14fb9134fdfd76ea6ebcf98a55a945bbc988 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Wed Apr 15 03:31:28 UTC 2026 On branch cf/6458 nothing to commit, working tree clean === using 'git am' to apply patch ./v2-0001-Use-exact-nullingrels-matches-for-NestLoopParams.patch === Applying: Use exact nullingrels matches for NestLoopParams === using 'git am' to apply patch ./v2-0002-Remove-nrm_match-parameter-from-fix_upper_expr.patch === Applying: Remove nrm_match parameter from fix_upper_expr === using 'git am' to apply patch ./v2-0003-Tighten-nullingrels-checks-for-outer-joins.patch === Applying: Tighten nullingrels checks for outer joins error: sha1 information is lacking or useless (src/backend/optimizer/plan/setrefs.c). error: could not build fake ancestor hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 Tighten nullingrels checks for outer joins 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-0003-Tighten-nullingrels-checks-for-outer-joins.patch === patching file contrib/pg_overexplain/expected/pg_overexplain.out Hunk #1 succeeded at 379 (offset 2 lines). Hunk #2 succeeded at 443 (offset 2 lines). patching file contrib/pg_overexplain/pg_overexplain.c Hunk #1 FAILED at 248. 1 out of 1 hunk FAILED -- saving rejects to file contrib/pg_overexplain/pg_overexplain.c.rej patching file contrib/pg_overexplain/sql/pg_overexplain.sql patching file src/backend/optimizer/plan/createplan.c Hunk #1 succeeded at 231 (offset -1 lines). Hunk #2 succeeded at 256 (offset -1 lines). Hunk #3 succeeded at 4197 (offset 2 lines). Hunk #4 succeeded at 4264 (offset 2 lines). Hunk #5 succeeded at 4340 (offset 2 lines). Hunk #6 succeeded at 4355 (offset 2 lines). Hunk #7 succeeded at 4434 (offset 2 lines). Hunk #8 succeeded at 4699 (offset 2 lines). Hunk #9 succeeded at 4717 (offset 2 lines). Hunk #10 succeeded at 4866 (offset 2 lines). Hunk #11 succeeded at 4881 (offset 2 lines). Hunk #12 succeeded at 5960 (offset 8 lines). Hunk #13 succeeded at 5973 (offset 8 lines). Hunk #14 succeeded at 5990 (offset 8 lines). Hunk #15 succeeded at 6007 (offset 8 lines). Hunk #16 succeeded at 6047 (offset 8 lines). Hunk #17 succeeded at 6067 (offset 8 lines). patching file src/backend/optimizer/plan/setrefs.c Hunk #1 succeeded at 2489 (offset 57 lines). Hunk #2 succeeded at 2503 (offset 57 lines). Hunk #3 succeeded at 2511 (offset 57 lines). patching file src/include/nodes/plannodes.h Hunk #1 succeeded at 966 (offset 21 lines). Hunk #2 succeeded at 991 (offset 21 lines). Unstaged changes after reset: M contrib/pg_overexplain/expected/pg_overexplain.out M contrib/pg_overexplain/sql/pg_overexplain.sql M src/backend/optimizer/plan/createplan.c M src/backend/optimizer/plan/setrefs.c M src/include/nodes/plannodes.h Removing contrib/pg_overexplain/pg_overexplain.c.rej === using 'git apply' to apply patch ./v2-0003-Tighten-nullingrels-checks-for-outer-joins.patch === Applied patch to 'contrib/pg_overexplain/expected/pg_overexplain.out' cleanly. Applied patch to 'contrib/pg_overexplain/pg_overexplain.c' with conflicts. Applied patch to 'contrib/pg_overexplain/sql/pg_overexplain.sql' cleanly. Applied patch to 'src/backend/optimizer/plan/createplan.c' cleanly. error: repository lacks the necessary blob to perform 3-way merge. Falling back to direct application... Applied patch to 'src/include/nodes/plannodes.h' cleanly. U contrib/pg_overexplain/pg_overexplain.c diff --cc contrib/pg_overexplain/pg_overexplain.c index 715eda8dc56,92cfd8af2eb..00000000000 --- a/contrib/pg_overexplain/pg_overexplain.c +++ b/contrib/pg_overexplain/pg_overexplain.c @@@ -261,6 -249,26 +261,29 @@@ overexplain_per_node_hook(PlanState *pl ((Result *) plan)->relids, es); break; ++<<<<<<< ours ++======= + + case T_MergeJoin: + case T_NestLoop: + case T_HashJoin: + { + Join *join = (Join *) plan; + + /* + * 'ojrelids' is only meaningful for non-inner joins, but + * if it somehow ends up set for an inner join, print it + * anyway. + */ + if (join->jointype != JOIN_INNER || + join->ojrelids != NULL) + overexplain_bitmapset("Outer Join RTIs", + join->ojrelids, + es); + break; + } + ++>>>>>>> theirs default: break; }