From 10c100dd42519951cbf55890aae247910e58b53a Mon Sep 17 00:00:00 2001 From: Richard Guo 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