bandaid_fix.patch

application/octet-stream

Filename: bandaid_fix.patch
Type: application/octet-stream
Part: 0
Message: Re: Segfault in RI UPDATE CASCADE on partitioned tables with LIKE+ATTACH child (attnum drift)

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: unified
File+
src/backend/executor/execMain.c 10 0
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c
index 831c55ce787..c4eb15aebb0 100644
--- a/src/backend/executor/execMain.c
+++ b/src/backend/executor/execMain.c
@@ -1354,7 +1354,11 @@ ExecGetTriggerResultRel(EState *estate, Oid relid,
 	{
 		rInfo = lfirst(l);
 		if (RelationGetRelid(rInfo->ri_RelationDesc) == relid)
+		{
+			rInfo->ri_RootResultRelInfo = rootRelInfo;
 			return rInfo;
+
+		}
 	}
 
 	/*
@@ -1365,7 +1369,10 @@ ExecGetTriggerResultRel(EState *estate, Oid relid,
 	{
 		rInfo = (ResultRelInfo *) lfirst(l);
 		if (RelationGetRelid(rInfo->ri_RelationDesc) == relid)
+		{
+			rInfo->ri_RootResultRelInfo = rootRelInfo;
 			return rInfo;
+		}
 	}
 
 	/* Nope, but maybe we already made an extra ResultRelInfo for it */
@@ -1373,7 +1380,10 @@ ExecGetTriggerResultRel(EState *estate, Oid relid,
 	{
 		rInfo = (ResultRelInfo *) lfirst(l);
 		if (RelationGetRelid(rInfo->ri_RelationDesc) == relid)
+		{
+			rInfo->ri_RootResultRelInfo = rootRelInfo;
 			return rInfo;
+		}
 	}
 	/* Nope, so we need a new one */