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