v1-0001-Fix-expanding-Var-of-type-RECORD.patch
application/octet-stream
Filename: v1-0001-Fix-expanding-Var-of-type-RECORD.patch
Type: application/octet-stream
Part: 0
Patch
Format: format-patch
Series: patch v1-0001
Subject: Fix expanding Var of type RECORD
| File | + | − |
|---|---|---|
| src/backend/parser/parse_target.c | 7 | 0 |
From 10c100dd42519951cbf55890aae247910e58b53a Mon Sep 17 00:00:00 2001
From: Richard Guo <guofenglinux@gmail.com>
Date: Wed, 30 Aug 2023 19:59:52 +0800
Subject: [PATCH v1] Fix expanding Var of type RECORD
---
src/backend/parser/parse_target.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/backend/parser/parse_target.c b/src/backend/parser/parse_target.c
index 57247de363..2b0450351b 100644
--- a/src/backend/parser/parse_target.c
+++ b/src/backend/parser/parse_target.c
@@ -1591,6 +1591,13 @@ expandRecordVariable(ParseState *pstate, Var *var, int levelsup)
*/
ParseState mypstate = {0};
+ /* climb up to the correct level */
+ for (int i = 0; i < netlevelsup; i++)
+ {
+ pstate = pstate->parentParseState;
+ Assert(pstate != NULL);
+ }
+
mypstate.parentParseState = pstate;
mypstate.p_rtable = rte->subquery->rtable;
/* don't bother filling the rest of the fake pstate */
--
2.31.0