aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_clause.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1998-01-20 22:55:25 +0000
committerBruce Momjian <bruce@momjian.us>1998-01-20 22:55:25 +0000
commit7e46348e6219f7b827fd315140437a8abfa0226f (patch)
tree32b629ab4cb8f5df9883a567f7c7a5894dcd2522 /src/backend/parser/parse_clause.c
parent7f31669beac8cacb828acbdbaf29925a6f0d6677 (diff)
downloadpostgresql-7e46348e6219f7b827fd315140437a8abfa0226f.tar.gz
postgresql-7e46348e6219f7b827fd315140437a8abfa0226f.zip
FIx for regression-test found bug.
Diffstat (limited to 'src/backend/parser/parse_clause.c')
-rw-r--r--src/backend/parser/parse_clause.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/backend/parser/parse_clause.c b/src/backend/parser/parse_clause.c
index 8e571af58f9..8fdd77ea72f 100644
--- a/src/backend/parser/parse_clause.c
+++ b/src/backend/parser/parse_clause.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.11 1998/01/20 22:11:53 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.12 1998/01/20 22:55:25 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -39,15 +39,18 @@ void
makeRangeTable(ParseState *pstate, char *relname, List *frmList)
{
RangeTblEntry *rte;
+ int sublevels_up;
parseFromClause(pstate, frmList);
if (relname == NULL)
return;
- Assert(pstate->p_rtable == NULL);
-
- rte = addRangeTableEntry(pstate, relname, relname, FALSE, FALSE);
+ if (refnameRangeTablePosn(pstate, relname, &sublevels_up) == 0 ||
+ sublevels_up != 0)
+ rte = addRangeTableEntry(pstate, relname, relname, FALSE, FALSE);
+ else
+ rte = refnameRangeTableEntry(pstate, relname);
pstate->p_target_rangetblentry = rte;
Assert(pstate->p_target_relation == NULL);