/* * make_var * Build a Var node for an attribute identified by RTE and attrno */ Var * make_var(ParseState *pstate, RangeTblEntry *rte, int attrno) { int vnum, sublevels_up; Oid vartypeid; int32 type_mod; vnum = RTERangeTablePosn(pstate, rte, &sublevels_up); get_rte_attribute_type(rte, attrno, &vartypeid, &type_mod); return makeVar(vnum, attrno, vartypeid, type_mod, sublevels_up); }
/* * make_var * Build a var_xp node for an attribute identified by RTE and attrno */ var_xp *make_var(parse_state_s* pstate, rte_n* rte, int attrno, int location) { var_xp *result; int vnum, sublevels_up; oid_t vartypeid; int32 type_mod; oid_t varcollid; vnum = RTERangeTablePosn(pstate, rte, &sublevels_up); get_rte_attribute_type(rte, attrno, &vartypeid, &type_mod, &varcollid); result = makeVar(vnum, attrno, vartypeid, type_mod, varcollid, sublevels_up); result->location = location; return result; }
/* * make_var * Build a Var node for an attribute identified by RTE and attrno */ Var * make_var(ParseState *pstate, RangeTblEntry *rte, int attrno, int location) { Var *result; int vnum, sublevels_up; Oid vartypeid; int32 type_mod; vnum = RTERangeTablePosn(pstate, rte, &sublevels_up); get_rte_attribute_type(rte, attrno, &vartypeid, &type_mod); result = makeVar(vnum, attrno, vartypeid, type_mod, sublevels_up); result->location = location; return result; }