diff options
Diffstat (limited to 'src/backend/optimizer/path/pathkeys.c')
-rw-r--r-- | src/backend/optimizer/path/pathkeys.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/backend/optimizer/path/pathkeys.c b/src/backend/optimizer/path/pathkeys.c index f8e4906c13b..d4d1179d545 100644 --- a/src/backend/optimizer/path/pathkeys.c +++ b/src/backend/optimizer/path/pathkeys.c @@ -11,7 +11,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/path/pathkeys.c,v 1.49 2003/05/28 16:03:56 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/path/pathkeys.c,v 1.50 2003/06/29 23:05:04 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -703,20 +703,18 @@ find_indexkey_var(Query *root, RelOptInfo *rel, AttrNumber varattno) vartypeid; int32 type_mod; - foreach(temp, rel->targetlist) + foreach(temp, FastListValue(&rel->reltargetlist)) { - Var *tle_var = (Var *) ((TargetEntry *) lfirst(temp))->expr; + Var *var = (Var *) lfirst(temp); - if (IsA(tle_var, Var) && - tle_var->varattno == varattno) - return tle_var; + if (IsA(var, Var) && + var->varattno == varattno) + return var; } relid = rel->relid; - Assert(relid > 0); reloid = getrelid(relid, root->rtable); - vartypeid = get_atttype(reloid, varattno); - type_mod = get_atttypmod(reloid, varattno); + get_atttypetypmod(reloid, varattno, &vartypeid, &type_mod); return makeVar(relid, varattno, vartypeid, type_mod, 0); } |