aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_func.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2000-03-23 07:38:30 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2000-03-23 07:38:30 +0000
commit37ab0887700090e397bcedad83ac19dfba2d3e4d (patch)
treeafb361ed2eb920c73dda4a4aa8a507a07fd0dd85 /src/backend/parser/parse_func.c
parentdadb14fa60f2cb5c5acbd10faaf72aacc3cef56d (diff)
downloadpostgresql-37ab0887700090e397bcedad83ac19dfba2d3e4d.tar.gz
postgresql-37ab0887700090e397bcedad83ac19dfba2d3e4d.zip
Remove no-longer-necessary restriction against uplevel correlation vars
outside WHERE clause. Fix a couple of places that didn't handle uplevel refs cleanly.
Diffstat (limited to 'src/backend/parser/parse_func.c')
-rw-r--r--src/backend/parser/parse_func.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c
index 7134d5e7811..67d5aea77ad 100644
--- a/src/backend/parser/parse_func.c
+++ b/src/backend/parser/parse_func.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.76 2000/03/19 00:19:39 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.77 2000/03/23 07:38:30 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -495,6 +495,7 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
{
RangeTblEntry *rte;
int vnum;
+ int sublevels_up;
/*
* a relation
@@ -516,7 +517,8 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
relname = rte->relname;
- vnum = refnameRangeTablePosn(pstate, rte->eref->relname, NULL);
+ vnum = refnameRangeTablePosn(pstate, rte->eref->relname,
+ &sublevels_up);
/*
* for func(relname), the param to the function is the tuple
@@ -527,7 +529,7 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
*/
toid = typeTypeId(typenameType(relname));
/* replace it in the arg list */
- lfirst(i) = makeVar(vnum, 0, toid, -1, 0);
+ lfirst(i) = makeVar(vnum, 0, toid, -1, sublevels_up);
}
else if (!attisset)
{