fix-materialize_finished_plan-Ensure-dummy-matpath-is-fu.nocf
application/octet-stream
Filename: fix-materialize_finished_plan-Ensure-dummy-matpath-is-fu.nocf
Type: application/octet-stream
Part: 0
Message:
Re: pg_plan_advice
From badfef45be1b966a6fd5ac1224ed17717dc3cde9 Mon Sep 17 00:00:00 2001
From: Lukas Fittl <lukas@fittl.com>
Date: Wed, 28 Jan 2026 21:39:42 -0800
Subject: [PATCH] materialize_finished_plan: Ensure dummy matpath is fully
initialized
Previously we were selectively initializing the fields that
cost_material was reading, but that is brittle, and as the omission
in the recent commit 4020b370f214315 shows, easy to miss when reading
from additional fields in cost_material. Instead, zero initialize the
dummy Path struct used to retrieve the cost values.
Per valgrind complaint from buildfarm member skink.
---
src/backend/optimizer/plan/createplan.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c
index c26e841f537..290ca83e3e0 100644
--- a/src/backend/optimizer/plan/createplan.c
+++ b/src/backend/optimizer/plan/createplan.c
@@ -6505,7 +6505,7 @@ Plan *
materialize_finished_plan(Plan *subplan)
{
Plan *matplan;
- Path matpath; /* dummy for cost_material */
+ Path matpath = {0}; /* dummy for cost_material */
Cost initplan_cost;
bool unsafe_initplans;
@@ -6527,7 +6527,6 @@ materialize_finished_plan(Plan *subplan)
subplan->total_cost -= initplan_cost;
/* Set cost data */
- matpath.parent = NULL;
cost_material(&matpath,
enable_material,
subplan->disabled_nodes,
--
2.47.1