aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_func.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2002-03-22 02:56:37 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2002-03-22 02:56:37 +0000
commit108a0ec87d41393c362c5b8d8aa17d9a734e4f1a (patch)
treef437cf9d8bb1db8fdacf1c1022eac0f11e146069 /src/backend/parser/parse_func.c
parent56c9b73c1d426c79a604df6d6f36293dd9f18754 (diff)
downloadpostgresql-108a0ec87d41393c362c5b8d8aa17d9a734e4f1a.tar.gz
postgresql-108a0ec87d41393c362c5b8d8aa17d9a734e4f1a.zip
A little further progress on schemas: push down RangeVars into
addRangeTableEntry calls. Remove relname field from RTEs, since it will no longer be a useful unique identifier of relations; we want to encourage people to rely on the relation OID instead. Further work on dumping qual expressions in EXPLAIN, too.
Diffstat (limited to 'src/backend/parser/parse_func.c')
-rw-r--r--src/backend/parser/parse_func.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c
index ee1bf6c0578..f02ee04b696 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.119 2002/03/21 16:01:06 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.120 2002/03/22 02:56:34 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -252,7 +252,7 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
&sublevels_up);
if (rte == NULL)
- rte = addImplicitRTE(pstate, refname);
+ rte = addImplicitRTE(pstate, (RangeVar *) arg);
vnum = RTERangeTablePosn(pstate, rte, &sublevels_up);
@@ -281,7 +281,10 @@ ParseFuncOrColumn(ParseState *pstate, char *funcname, List *fargs,
}
}
- toid = typenameTypeId(rte->relname);
+ toid = get_rel_type_id(rte->relid);
+ if (!OidIsValid(toid))
+ elog(ERROR, "Cannot find type OID for relation %u",
+ rte->relid);
/* replace RangeVar in the arg list */
lfirst(i) = makeVar(vnum,