=== Applying patches on top of PostgreSQL commit ID 9f4fd119b2cbb9a41ec0c19a8d6ec9b59b92c125 === /etc/rc.d/jail: WARNING: Per-jail configuration via jail_* variables is obsolete. Please consider migrating to /etc/jail.conf. Sun Feb 15 13:37:24 UTC 2026 On branch cf/5359 nothing to commit, working tree clean === using 'git am' to apply patch ./0001-Add-a-new-option-STATS-to-EXPLAIN-command.patch === Applying: Add a new option STATS to EXPLAIN command Using index info to reconstruct a base tree... M doc/src/sgml/ref/explain.sgml M src/backend/commands/explain.c M src/backend/commands/explain_state.c M src/backend/nodes/makefuncs.c M src/backend/optimizer/plan/createplan.c M src/backend/optimizer/util/relnode.c M src/backend/optimizer/util/restrictinfo.c M src/backend/statistics/extended_stats.c M src/backend/utils/adt/selfuncs.c M src/backend/utils/cache/lsyscache.c M src/include/commands/explain_state.h M src/include/nodes/makefuncs.h M src/include/nodes/parsenodes.h M src/include/nodes/pathnodes.h M src/include/nodes/plannodes.h M src/include/optimizer/restrictinfo.h M src/include/utils/lsyscache.h Falling back to patching base and 3-way merge... Auto-merging src/include/utils/lsyscache.h Auto-merging src/include/optimizer/restrictinfo.h Auto-merging src/include/nodes/plannodes.h CONFLICT (content): Merge conflict in src/include/nodes/plannodes.h Auto-merging src/include/nodes/pathnodes.h CONFLICT (content): Merge conflict in src/include/nodes/pathnodes.h Auto-merging src/include/nodes/parsenodes.h Auto-merging src/include/nodes/makefuncs.h Auto-merging src/include/commands/explain_state.h Auto-merging src/backend/utils/cache/lsyscache.c Auto-merging src/backend/utils/adt/selfuncs.c Auto-merging src/backend/statistics/extended_stats.c Auto-merging src/backend/optimizer/util/restrictinfo.c Auto-merging src/backend/optimizer/util/relnode.c Auto-merging src/backend/optimizer/plan/createplan.c Auto-merging src/backend/nodes/makefuncs.c Auto-merging src/backend/commands/explain_state.c Auto-merging src/backend/commands/explain.c Auto-merging doc/src/sgml/ref/explain.sgml error: Failed to merge in the changes. hint: Use 'git am --show-current-patch=diff' to see the failed patch Patch failed at 0001 Add a new option STATS to EXPLAIN command 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". Unstaged changes after reset: M doc/src/sgml/ref/explain.sgml M src/backend/commands/explain.c M src/backend/commands/explain_state.c M src/backend/nodes/makefuncs.c M src/backend/optimizer/plan/createplan.c M src/backend/optimizer/util/relnode.c M src/backend/optimizer/util/restrictinfo.c M src/backend/statistics/extended_stats.c M src/backend/utils/adt/selfuncs.c M src/backend/utils/cache/lsyscache.c M src/include/commands/explain_state.h M src/include/nodes/makefuncs.h M src/include/nodes/parsenodes.h M src/include/nodes/pathnodes.h M src/include/nodes/plannodes.h M src/include/optimizer/restrictinfo.h M src/include/utils/lsyscache.h === using patch(1) to apply patch ./0001-Add-a-new-option-STATS-to-EXPLAIN-command.patch === patching file doc/src/sgml/ref/explain.sgml Hunk #2 succeeded at 251 (offset 1 line). patching file src/backend/commands/explain.c Hunk #2 succeeded at 357 (offset 1 line). Hunk #3 succeeded at 1987 (offset 7 lines). Hunk #4 succeeded at 2009 (offset 7 lines). Hunk #5 succeeded at 2054 (offset 7 lines). Hunk #6 succeeded at 2127 (offset 7 lines). Hunk #7 succeeded at 2246 (offset 7 lines). Hunk #8 succeeded at 2268 (offset 7 lines). Hunk #9 succeeded at 2605 (offset 8 lines). patching file src/backend/commands/explain_state.c patching file src/backend/nodes/makefuncs.c patching file src/backend/optimizer/plan/createplan.c Hunk #1 succeeded at 5357 (offset -204 lines). Hunk #2 succeeded at 5366 (offset -204 lines). patching file src/backend/optimizer/util/relnode.c Hunk #1 succeeded at 309 (offset 22 lines). Hunk #2 succeeded at 897 (offset 124 lines). Hunk #3 succeeded at 1099 (offset 138 lines). patching file src/backend/optimizer/util/restrictinfo.c patching file src/backend/statistics/extended_stats.c Hunk #1 succeeded at 1834 (offset -20 lines). patching file src/backend/utils/adt/selfuncs.c Hunk #1 succeeded at 4684 (offset 338 lines). Hunk #2 succeeded at 4732 (offset 338 lines). Hunk #3 succeeded at 4763 (offset 338 lines). Hunk #4 succeeded at 4774 (offset 338 lines). patching file src/backend/utils/cache/lsyscache.c Hunk #1 succeeded at 37 (offset 1 line). Hunk #2 succeeded at 3865 (offset 10 lines). patching file src/include/commands/explain_state.h patching file src/include/nodes/makefuncs.h patching file src/include/nodes/parsenodes.h Hunk #1 succeeded at 255 (offset 1 line). patching file src/include/nodes/pathnodes.h Hunk #1 FAILED at 1075. 1 out of 1 hunk FAILED -- saving rejects to file src/include/nodes/pathnodes.h.rej patching file src/include/nodes/plannodes.h Hunk #1 succeeded at 254 (offset 15 lines). Hunk #2 succeeded at 1874 with fuzz 2 (offset 79 lines). patching file src/include/optimizer/restrictinfo.h patching file src/include/utils/lsyscache.h Unstaged changes after reset: M doc/src/sgml/ref/explain.sgml M src/backend/commands/explain.c M src/backend/commands/explain_state.c M src/backend/nodes/makefuncs.c M src/backend/optimizer/plan/createplan.c M src/backend/optimizer/util/relnode.c M src/backend/optimizer/util/restrictinfo.c M src/backend/statistics/extended_stats.c M src/backend/utils/adt/selfuncs.c M src/backend/utils/cache/lsyscache.c M src/include/commands/explain_state.h M src/include/nodes/makefuncs.h M src/include/nodes/parsenodes.h M src/include/nodes/plannodes.h M src/include/optimizer/restrictinfo.h M src/include/utils/lsyscache.h Removing src/include/nodes/pathnodes.h.rej === using 'git apply' to apply patch ./0001-Add-a-new-option-STATS-to-EXPLAIN-command.patch === Applied patch to 'doc/src/sgml/ref/explain.sgml' cleanly. Applied patch to 'src/backend/commands/explain.c' cleanly. Applied patch to 'src/backend/commands/explain_state.c' cleanly. Applied patch to 'src/backend/nodes/makefuncs.c' cleanly. Applied patch to 'src/backend/optimizer/plan/createplan.c' cleanly. Applied patch to 'src/backend/optimizer/util/relnode.c' cleanly. Applied patch to 'src/backend/optimizer/util/restrictinfo.c' cleanly. Applied patch to 'src/backend/statistics/extended_stats.c' cleanly. Applied patch to 'src/backend/utils/adt/selfuncs.c' cleanly. Applied patch to 'src/backend/utils/cache/lsyscache.c' cleanly. Applied patch to 'src/include/commands/explain_state.h' cleanly. Applied patch to 'src/include/nodes/makefuncs.h' cleanly. Applied patch to 'src/include/nodes/parsenodes.h' cleanly. Applied patch to 'src/include/nodes/pathnodes.h' with conflicts. Applied patch to 'src/include/nodes/plannodes.h' with conflicts. Applied patch to 'src/include/optimizer/restrictinfo.h' cleanly. Applied patch to 'src/include/utils/lsyscache.h' cleanly. U src/include/nodes/pathnodes.h U src/include/nodes/plannodes.h diff --cc src/include/nodes/pathnodes.h index c175ee95b68,081546cc771..00000000000 --- a/src/include/nodes/pathnodes.h +++ b/src/include/nodes/pathnodes.h @@@ -1203,9 -1076,10 +1203,16 @@@ typedef struct RelOptInf /* Nullable partition key expressions */ List **nullable_partexprs pg_node_attr(read_write_ignore); ++<<<<<<< ours + /* extension state */ + void **extension_state pg_node_attr(read_write_ignore); + int extension_state_allocated; ++======= + /* info about applied extended statistics */ + List *applied_stats; /* list of StatisticExtInfo */ + List *applied_clauses; /* list of lists of clauses */ + List *applied_clauses_or; /* are the clauses AND, OR, or Comma */ ++>>>>>>> theirs } RelOptInfo; /* diff --cc src/include/nodes/plannodes.h index 8c9321aab8c,aba7b29eb21..00000000000 --- a/src/include/nodes/plannodes.h +++ b/src/include/nodes/plannodes.h @@@ -1841,34 -1796,15 +1844,47 @@@ typedef enum MonotonicFunctio } MonotonicFunction; /* ++<<<<<<< ours + * SubPlanRTInfo + * + * Information about which range table entries came from which subquery + * planning cycles. + */ +typedef struct SubPlanRTInfo +{ + NodeTag type; + char *plan_name; + Index rtoffset; + bool dummy; +} SubPlanRTInfo; + +/* + * ElidedNode + * + * Information about nodes elided from the final plan tree: trivial subquery + * scans, and single-child Append and MergeAppend nodes. + * + * plan_node_id is that of the surviving plan node, the sole child of the + * one which was elided. + */ +typedef struct ElidedNode +{ + NodeTag type; + int plan_node_id; + NodeTag elided_type; + Bitmapset *relids; +} ElidedNode; ++======= + * Applied_ExtStats - Information to show applied Extend Statistics + * + */ + typedef struct Applied_ExtStats + { + NodeTag type; + List *applied_stats; + List *applied_clauses; + List *applied_clauses_or; + } Applied_ExtStats; ++>>>>>>> theirs #endif /* PLANNODES_H */