diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2000-03-23 07:38:30 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2000-03-23 07:38:30 +0000 |
commit | 37ab0887700090e397bcedad83ac19dfba2d3e4d (patch) | |
tree | afb361ed2eb920c73dda4a4aa8a507a07fd0dd85 /src/backend/parser/parse_func.c | |
parent | dadb14fa60f2cb5c5acbd10faaf72aacc3cef56d (diff) | |
download | postgresql-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.c | 8 |
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) { |