v14-0003-Fixup-review-Dean-Rasheed-2025-01-27.patch
text/plain
Filename: v14-0003-Fixup-review-Dean-Rasheed-2025-01-27.patch
Type: text/plain
Part: 2
Message:
Re: Virtual generated columns
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: format-patch
Series: patch v14-0003
Subject: Fixup review Dean Rasheed 2025-01-27
| File | + | − |
|---|---|---|
| src/backend/executor/execUtils.c | 1 | 1 |
| src/backend/executor/nodeModifyTable.c | 2 | 2 |
| src/include/nodes/execnodes.h | 2 | 3 |
From f1eaccf4eaafddedf2db16d6005f9ced705dd3ec Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Tue, 4 Feb 2025 23:35:22 +0100
Subject: [PATCH v14 3/3] Fixup review Dean Rasheed 2025-01-27
---
src/backend/executor/execUtils.c | 2 +-
src/backend/executor/nodeModifyTable.c | 4 ++--
src/include/nodes/execnodes.h | 5 ++---
3 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/backend/executor/execUtils.c b/src/backend/executor/execUtils.c
index 123d3c79b43..7eab229dde9 100644
--- a/src/backend/executor/execUtils.c
+++ b/src/backend/executor/execUtils.c
@@ -1383,7 +1383,7 @@ Bitmapset *
ExecGetExtraUpdatedCols(ResultRelInfo *relinfo, EState *estate)
{
/* Compute the info if we didn't already */
- if (!relinfo->ri_Generated_valid)
+ if (!relinfo->ri_extraUpdatedCols_valid)
ExecInitGenerated(relinfo, estate, CMD_UPDATE);
return relinfo->ri_extraUpdatedCols;
}
diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c
index 2d490cf7ca5..5bf522cac1a 100644
--- a/src/backend/executor/nodeModifyTable.c
+++ b/src/backend/executor/nodeModifyTable.c
@@ -501,6 +501,8 @@ ExecInitGenerated(ResultRelInfo *resultRelInfo,
resultRelInfo->ri_GeneratedExprsU = ri_GeneratedExprs;
resultRelInfo->ri_NumGeneratedNeededU = ri_NumGeneratedNeeded;
+
+ resultRelInfo->ri_extraUpdatedCols_valid = true;
}
else
{
@@ -511,8 +513,6 @@ ExecInitGenerated(ResultRelInfo *resultRelInfo,
resultRelInfo->ri_NumGeneratedNeededI = ri_NumGeneratedNeeded;
}
- resultRelInfo->ri_Generated_valid = true;
-
MemoryContextSwitchTo(oldContext);
}
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h
index fe6070381f6..62166561d37 100644
--- a/src/include/nodes/execnodes.h
+++ b/src/include/nodes/execnodes.h
@@ -490,6 +490,8 @@ typedef struct ResultRelInfo
/* For UPDATE, attnums of generated columns to be computed */
Bitmapset *ri_extraUpdatedCols;
+ /* true if the above has been computed */
+ bool ri_extraUpdatedCols_valid;
/* Projection to generate new tuple in an INSERT/UPDATE */
ProjectionInfo *ri_projectNew;
@@ -556,9 +558,6 @@ typedef struct ResultRelInfo
int ri_NumGeneratedNeededI;
int ri_NumGeneratedNeededU;
- /* true if the above have been computed */
- bool ri_Generated_valid;
-
/* list of RETURNING expressions */
List *ri_returningList;
--
2.48.1