aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_func.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/parser/parse_func.c')
-rw-r--r--src/backend/parser/parse_func.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c
index e8466fa6264..d864dfc1f6d 100644
--- a/src/backend/parser/parse_func.c
+++ b/src/backend/parser/parse_func.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.7 1998/01/20 05:04:16 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.8 1998/01/20 22:11:55 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -174,13 +174,12 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
{
RangeTblEntry *rte;
Ident *ident = (Ident *) first_arg;
-
/*
* first arg is a relation. This could be a projection.
*/
refname = ident->name;
- rte = refnameRangeTableEntry(pstate->p_rtable, refname);
+ rte = refnameRangeTableEntry(pstate, refname);
if (rte == NULL)
rte = addRangeTableEntry(pstate, refname, refname, FALSE, FALSE);
@@ -196,6 +195,7 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
Oid dummyTypeId;
return ((Node *) make_var(pstate,
+ relid,
refname,
funcname,
&dummyTypeId));
@@ -288,19 +288,18 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
if (nodeTag(pair) == T_Ident && ((Ident *) pair)->isRel)
{
-
/*
* a relation
*/
refname = ((Ident *) pair)->name;
- rte = refnameRangeTableEntry(pstate->p_rtable, refname);
+ rte = refnameRangeTableEntry(pstate, refname);
if (rte == NULL)
rte = addRangeTableEntry(pstate, refname, refname,
FALSE, FALSE);
relname = rte->relname;
- vnum = refnameRangeTablePosn(pstate->p_rtable, rte->refname);
+ vnum = refnameRangeTablePosn(pstate, rte->refname, NULL);
/*
* for func(relname), the param to the function is the tuple
@@ -312,7 +311,7 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
toid = typeTypeId(typenameType(relname));
/* replace it in the arg list */
lfirst(fargs) =
- makeVar(vnum, 0, toid, vnum, 0);
+ makeVar(vnum, 0, toid, 0, vnum, 0);
}
else if (!attisset)
{ /* set functions don't have parameters */
@@ -1074,7 +1073,7 @@ setup_tlist(char *attname, Oid relid)
0,
(Oid) 0,
0);
- varnode = makeVar(-1, attno, typeid, -1, attno);
+ varnode = makeVar(-1, attno, typeid, 0, -1, attno);
tle = makeNode(TargetEntry);
tle->resdom = resnode;
@@ -1101,7 +1100,7 @@ setup_base_tlist(Oid typeid)
0,
(Oid) 0,
0);
- varnode = makeVar(-1, 1, typeid, -1, 1);
+ varnode = makeVar(-1, 1, typeid, 0, -1, 1);
tle = makeNode(TargetEntry);
tle->resdom = resnode;
tle->expr = (Node *) varnode;