Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit d7e76d4

Browse files
committed
markTargetListOrigin neglected to handle outer-scope Vars properly;
per report from Joe Conway.
1 parent e70a8ee commit d7e76d4

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/backend/parser/parse_target.c

+8-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.101 2003/05/06 00:20:32 tgl Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/parser/parse_target.c,v 1.102 2003/05/31 19:03:34 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -236,11 +236,18 @@ markTargetListOrigins(ParseState *pstate, List *targetlist)
236236
static void
237237
markTargetListOrigin(ParseState *pstate, Resdom *res, Var *var)
238238
{
239+
Index levelsup;
239240
RangeTblEntry *rte;
240241
AttrNumber attnum;
241242

242243
if (var == NULL || !IsA(var, Var))
243244
return;
245+
levelsup = var->varlevelsup;
246+
while (levelsup-- > 0)
247+
{
248+
pstate = pstate->parentParseState;
249+
Assert(pstate != NULL);
250+
}
244251
Assert(var->varno > 0 &&
245252
(int) var->varno <= length(pstate->p_rtable));
246253
rte = rt_fetch(var->varno, pstate->p_rtable);

0 commit comments

Comments
 (0)