nocfbot-0004-Fix-in-place-modification-of-defineClause-TargetEntr.txt

text/plain

Filename: nocfbot-0004-Fix-in-place-modification-of-defineClause-TargetEntr.txt
Type: text/plain
Part: 3
Message: Re: Row pattern recognition
From fb824d76d6635e624da5cdee1a481d61707e73bd Mon Sep 17 00:00:00 2001
From: Henson Choi <assam258@gmail.com>
Date: Wed, 25 Mar 2026 00:20:05 +0900
Subject: [PATCH 4/6] Fix in-place modification of defineClause TargetEntry in
 setrefs.c

---
 src/backend/optimizer/plan/setrefs.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c
index 69cd1861e9b..9cdb217a047 100644
--- a/src/backend/optimizer/plan/setrefs.c
+++ b/src/backend/optimizer/plan/setrefs.c
@@ -2646,6 +2646,7 @@ set_upper_references(PlannerInfo *root, Plan *plan, int rtoffset)
 			{
 				TargetEntry *tle = (TargetEntry *) lfirst(l);
 
+				tle = flatCopyTargetEntry(tle);
 				tle->expr = (Expr *)
 					fix_upper_expr(root,
 								   (Node *) tle->expr,
@@ -2654,6 +2655,7 @@ set_upper_references(PlannerInfo *root, Plan *plan, int rtoffset)
 								   rtoffset,
 								   NRM_EQUAL,
 								   NUM_EXEC_QUAL(plan));
+				lfirst(l) = tle;
 			}
 		}
 	}
-- 
2.50.1 (Apple Git-155)