0001-fix-concurrent-update.patch

application/octet-stream

Filename: 0001-fix-concurrent-update.patch
Type: application/octet-stream
Part: 0
Message: Re: BUG #19355: Attempt to insert data unexpectedly during concurrent update
From ed9194a5735db35c6a21c3d7e9f3a6b283cbfbf2 Mon Sep 17 00:00:00 2001
From: Tender Wang <tndrwang@gmail.com>
Date: Wed, 24 Dec 2025 19:57:56 +0800
Subject: [PATCH] fix concurrent update.

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

diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c
index cd7ea1e6b58..83662134d2e 100644
--- a/src/backend/optimizer/plan/setrefs.c
+++ b/src/backend/optimizer/plan/setrefs.c
@@ -584,6 +584,10 @@ add_rte_to_flat_rtable(PlannerGlobal *glob, List *rteperminfos,
 		(newrte->rtekind == RTE_SUBQUERY && OidIsValid(newrte->relid)))
 	{
 		glob->relationOids = lappend_oid(glob->relationOids, newrte->relid);
+	}
+	if (newrte->rtekind == RTE_RELATION || newrte->rtekind == RTE_VALUES ||
+		(newrte->rtekind == RTE_SUBQUERY && OidIsValid(newrte->relid)))
+	{
 		glob->allRelids = bms_add_member(glob->allRelids,
 										 list_length(glob->finalrtable));
 	}
-- 
2.34.1