summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/nodes/makefuncs.h3
-rw-r--r--src/include/nodes/primnodes.h4
-rw-r--r--src/include/parser/parse_node.h5
-rw-r--r--src/include/parser/parse_relation.h7
4 files changed, 12 insertions, 7 deletions
diff --git a/src/include/nodes/makefuncs.h b/src/include/nodes/makefuncs.h
index 57583f6773..6345b60024 100644
--- a/src/include/nodes/makefuncs.h
+++ b/src/include/nodes/makefuncs.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: makefuncs.h,v 1.5 1997/09/08 02:37:15 momjian Exp $
+ * $Id: makefuncs.h,v 1.6 1998/01/20 22:12:13 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -27,6 +27,7 @@ extern Var *
makeVar(Index varno,
AttrNumber varattno,
Oid vartype,
+ Index varlevelsup,
Index varnoold,
AttrNumber varoattno);
diff --git a/src/include/nodes/primnodes.h b/src/include/nodes/primnodes.h
index 92c2ab00f3..af370b893c 100644
--- a/src/include/nodes/primnodes.h
+++ b/src/include/nodes/primnodes.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: primnodes.h,v 1.15 1998/01/19 18:11:10 momjian Exp $
+ * $Id: primnodes.h,v 1.16 1998/01/20 22:12:14 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -104,6 +104,7 @@ typedef struct Expr
* (could be INNER or OUTER)
* varattno - attribute number of this var, or zero for all
* vartype - pg_type tuple oid for the type of this var
+ * varlevelsup - for subquery variables referencing outer relations
* varnoold - keep varno around in case it got changed to INNER/
* OUTER (see match_varid)
* varoattno - attribute number of this var
@@ -122,6 +123,7 @@ typedef struct Var
Index varno;
AttrNumber varattno;
Oid vartype;
+ Index varlevelsup; /* erased by upper optimizer */
Index varnoold; /* only used by optimizer */
AttrNumber varoattno; /* only used by optimizer */
} Var;
diff --git a/src/include/parser/parse_node.h b/src/include/parser/parse_node.h
index f09c7d0f86..50580f1036 100644
--- a/src/include/parser/parse_node.h
+++ b/src/include/parser/parse_node.h
@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: parse_node.h,v 1.6 1998/01/19 05:06:41 momjian Exp $
+ * $Id: parse_node.h,v 1.7 1998/01/20 22:12:16 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -45,7 +45,8 @@ typedef struct ParseState
extern ParseState *make_parsestate(ParseState *parentParseState);
extern Expr *make_op(char *opname, Node *ltree, Node *rtree);
-extern Var *make_var(ParseState *pstate, char *refname, char *attrname, Oid *type_id);
+extern Var *make_var(ParseState *pstate, Oid relid, char *refname,
+ char *attrname, Oid *type_id);
extern ArrayRef *make_array_ref(Node *expr,
List *indirection);
extern ArrayRef *make_array_set(Expr *target_expr,
diff --git a/src/include/parser/parse_relation.h b/src/include/parser/parse_relation.h
index eab72589ff..506fdad46b 100644
--- a/src/include/parser/parse_relation.h
+++ b/src/include/parser/parse_relation.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: parse_relation.h,v 1.5 1998/01/20 05:04:56 momjian Exp $
+ * $Id: parse_relation.h,v 1.6 1998/01/20 22:12:17 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -20,8 +20,9 @@
#include <parser/parse_node.h>
#include <utils/rel.h>
-extern RangeTblEntry *refnameRangeTableEntry(List *rtable, char *refname);
-extern int refnameRangeTablePosn(List *rtable, char *refname);
+extern RangeTblEntry *refnameRangeTableEntry(ParseState *pstate, char *refname);
+extern int refnameRangeTablePosn(ParseState *pstate,
+ char *refname, int *sublevels_up);
extern RangeTblEntry *colnameRangeTableEntry(ParseState *pstate, char *colname);
extern RangeTblEntry *addRangeTableEntry(ParseState *pstate,
char *relname,