|
8 | 8 | *
|
9 | 9 | *
|
10 | 10 | * 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 $ |
12 | 12 | *
|
13 | 13 | *-------------------------------------------------------------------------
|
14 | 14 | */
|
@@ -236,11 +236,18 @@ markTargetListOrigins(ParseState *pstate, List *targetlist)
|
236 | 236 | staticvoid
|
237 | 237 | markTargetListOrigin(ParseState*pstate,Resdom*res,Var*var)
|
238 | 238 | {
|
| 239 | +Indexlevelsup; |
239 | 240 | RangeTblEntry*rte;
|
240 | 241 | AttrNumberattnum;
|
241 | 242 |
|
242 | 243 | if (var==NULL|| !IsA(var,Var))
|
243 | 244 | return;
|
| 245 | +levelsup=var->varlevelsup; |
| 246 | +while (levelsup-->0) |
| 247 | +{ |
| 248 | +pstate=pstate->parentParseState; |
| 249 | +Assert(pstate!=NULL); |
| 250 | +} |
244 | 251 | Assert(var->varno>0&&
|
245 | 252 | (int)var->varno <=length(pstate->p_rtable));
|
246 | 253 | rte=rt_fetch(var->varno,pstate->p_rtable);
|
|