summaryrefslogtreecommitdiff
path: root/src/include/parser
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1998-01-19 05:06:41 +0000
committerBruce Momjian <bruce@momjian.us>1998-01-19 05:06:41 +0000
commit588867bd7b5f7cf9d3a7f373064a5a9474b992fe (patch)
tree60b411dc29d1e8a92661cd06de92625c208fd434 /src/include/parser
parent691dc282f81ff2333837b33f8517bfc08e31f37c (diff)
downloadpostgresql-588867bd7b5f7cf9d3a7f373064a5a9474b992fe.tar.gz
Create SubLink nodes in parser for Vadim.
Diffstat (limited to 'src/include/parser')
-rw-r--r--src/include/parser/analyze.h4
-rw-r--r--src/include/parser/parse_node.h6
2 files changed, 6 insertions, 4 deletions
diff --git a/src/include/parser/analyze.h b/src/include/parser/analyze.h
index b88d80f346..85191a60c1 100644
--- a/src/include/parser/analyze.h
+++ b/src/include/parser/analyze.h
@@ -5,7 +5,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: analyze.h,v 1.2 1997/11/26 01:13:56 momjian Exp $
+ * $Id: analyze.h,v 1.3 1998/01/19 05:06:39 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -14,6 +14,6 @@
#include <parser/parse_node.h>
-extern QueryTreeList *parse_analyze(List *pl);
+extern QueryTreeList *parse_analyze(List *pl, ParseState *parentParseState);
#endif /* ANALYZE_H */
diff --git a/src/include/parser/parse_node.h b/src/include/parser/parse_node.h
index a0915574a1..f09c7d0f86 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.5 1998/01/17 04:53:46 momjian Exp $
+ * $Id: parse_node.h,v 1.6 1998/01/19 05:06:41 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -28,9 +28,11 @@ typedef struct QueryTreeList
/* state information used during parse analysis */
typedef struct ParseState
{
+ struct ParseState;
int p_last_resno;
List *p_rtable;
List *p_insert_columns;
+ struct ParseState *parentParseState;
bool p_hasAggs;
bool p_hasSubLinks;
bool p_is_insert;
@@ -41,7 +43,7 @@ typedef struct ParseState
RangeTblEntry *p_target_rangetblentry;
} ParseState;
-extern ParseState *make_parsestate(void);
+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 ArrayRef *make_array_ref(Node *expr,