|
7 | 7 | *
|
8 | 8 | *
|
9 | 9 | * IDENTIFICATION
|
10 |
| - * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.11 1998/01/20 22:11:53 momjian Exp $ |
| 10 | + * $Header: /cvsroot/pgsql/src/backend/parser/parse_clause.c,v 1.12 1998/01/20 22:55:25 momjian Exp $ |
11 | 11 | *
|
12 | 12 | *-------------------------------------------------------------------------
|
13 | 13 | */
|
|
39 | 39 | makeRangeTable(ParseState*pstate,char*relname,List*frmList)
|
40 | 40 | {
|
41 | 41 | RangeTblEntry*rte;
|
| 42 | +intsublevels_up; |
42 | 43 |
|
43 | 44 | parseFromClause(pstate,frmList);
|
44 | 45 |
|
45 | 46 | if (relname==NULL)
|
46 | 47 | return;
|
47 | 48 |
|
48 |
| -Assert(pstate->p_rtable==NULL); |
49 |
| - |
50 |
| -rte=addRangeTableEntry(pstate,relname,relname, FALSE, FALSE); |
| 49 | +if (refnameRangeTablePosn(pstate,relname,&sublevels_up)==0|| |
| 50 | +sublevels_up!=0) |
| 51 | +rte=addRangeTableEntry(pstate,relname,relname, FALSE, FALSE); |
| 52 | +else |
| 53 | +rte=refnameRangeTableEntry(pstate,relname); |
51 | 54 |
|
52 | 55 | pstate->p_target_rangetblentry=rte;
|
53 | 56 | Assert(pstate->p_target_relation==NULL);
|
|