diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-03-22 02:56:37 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-03-22 02:56:37 +0000 |
commit | 108a0ec87d41393c362c5b8d8aa17d9a734e4f1a (patch) | |
tree | f437cf9d8bb1db8fdacf1c1022eac0f11e146069 /src/backend/parser/parse_clause.c | |
parent | 56c9b73c1d426c79a604df6d6f36293dd9f18754 (diff) | |
download | postgresql-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_clause.c')
-rw-r--r-- | src/backend/parser/parse_clause.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c index 6e8868f8ea6..c2f578f4e6d 100644 --- a/src/backend/parser/parse_clause.c +++ b/src/backend/parser/parse_clause.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.85 2002/03/21 16:00:59 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.86 2002/03/22 02:56:33 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -116,7 +116,7 @@ transformFromClause(ParseState *pstate, List *frmList) * Returns the rangetable index of the target relation. */ int -setTargetTable(ParseState *pstate, char *relname, +setTargetTable(ParseState *pstate, RangeVar *relation, bool inh, bool alsoSource) { RangeTblEntry *rte; @@ -133,12 +133,12 @@ setTargetTable(ParseState *pstate, char *relname, * analyze.c will eventually do the corresponding heap_close(), but *not* * release the lock. */ - pstate->p_target_relation = heap_openr(relname, RowExclusiveLock); + pstate->p_target_relation = heap_openr(relation->relname, RowExclusiveLock); /* * Now build an RTE. */ - rte = addRangeTableEntry(pstate, relname, NULL, inh, false); + rte = addRangeTableEntry(pstate, relation, NULL, inh, false); pstate->p_target_rangetblentry = rte; /* assume new rte is at end */ @@ -364,7 +364,6 @@ transformJoinOnClause(ParseState *pstate, JoinExpr *j, static RangeTblRef * transformTableEntry(ParseState *pstate, RangeVar *r) { - char *relname = r->relname; RangeTblEntry *rte; RangeTblRef *rtr; @@ -375,7 +374,7 @@ transformTableEntry(ParseState *pstate, RangeVar *r) * automatically generate the range variable if not specified. However * there are times we need to know whether the entries are legitimate. */ - rte = addRangeTableEntry(pstate, relname, r->alias, + rte = addRangeTableEntry(pstate, r, r->alias, interpretInhOption(r->inhOpt), true); /* |