aboutsummaryrefslogtreecommitdiff
path: root/src/backend/optimizer/path/pathkeys.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/optimizer/path/pathkeys.c')
-rw-r--r--src/backend/optimizer/path/pathkeys.c16
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);
}