* back to source text
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.203 2005/07/02 17:01:50 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.204 2005/07/15 18:39:59 tgl Exp $
*
* This software is copyrighted by Jan Wieck - Hamburg.
*
if (var->varnoold > 0 && var->varnoold <= rtablelength)
{
RangeTblEntry *varrte = rt_fetch(var->varnoold, rtable);
- char *varname;
+ AttrNumber varattnum = var->varoattno;
- varname = get_rte_attribute_name(varrte, var->varoattno);
- attrs = lappend(attrs, makeString(varname));
- continue;
+ /* need this test in case it's referencing a resjunk col */
+ if (varattnum <= list_length(varrte->eref->colnames))
+ {
+ char *varname;
+
+ varname = get_rte_attribute_name(varrte, varattnum);
+ attrs = lappend(attrs, makeString(varname));
+ continue;
+ }
}
}
/* Fallback if can't get name */