aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/include/nodes/nodes.h5
-rw-r--r--src/include/nodes/parsenodes.h28
2 files changed, 24 insertions, 9 deletions
diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h
index ecf8cff61c2..66c1b1812ce 100644
--- a/src/include/nodes/nodes.h
+++ b/src/include/nodes/nodes.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: nodes.h,v 1.10 1997/08/31 11:43:08 vadim Exp $
+ * $Id: nodes.h,v 1.11 1997/09/01 06:04:57 thomas Exp $
*
*-------------------------------------------------------------------------
*/
@@ -206,7 +206,8 @@ typedef enum NodeTag {
T_TargetEntry,
T_RangeTblEntry,
T_SortClause,
- T_GroupClause
+ T_GroupClause,
+ T_SubSelect
} NodeTag;
/*
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h
index 19f551559e4..81e635cebad 100644
--- a/src/include/nodes/parsenodes.h
+++ b/src/include/nodes/parsenodes.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: parsenodes.h,v 1.21 1997/08/31 11:43:09 vadim Exp $
+ * $Id: parsenodes.h,v 1.22 1997/09/01 06:04:59 thomas Exp $
*
*-------------------------------------------------------------------------
*/
@@ -554,9 +554,9 @@ typedef struct CursorStmt {
List *targetList; /* the target list (of ResTarget) */
List *fromClause; /* the from clause */
Node *whereClause; /* qualifications */
- List *groupClause; /* group by clause */
+ List *groupClause; /* group by clause */
List *sortClause; /* sort clause (a list of SortGroupBy's) */
-} CursorStmt;
+} CursorStmt;
/* ----------------------
* Select Statement
@@ -564,16 +564,16 @@ typedef struct CursorStmt {
*/
typedef struct RetrieveStmt {
NodeTag type;
- char *unique; /* NULL, '*', or unique attribute name */
- char *into; /* name of table (for select into
- table) */
+ char *unique; /* NULL, '*', or unique attribute name */
+ char *into; /* name of table (for select into table) */
List *targetList; /* the target list (of ResTarget) */
List *fromClause; /* the from clause */
Node *whereClause; /* qualifications */
List *groupClause; /* group by clause */
Node *havingClause; /* having conditional-expression */
+ List *selectClause; /* subselect parameters */
List *sortClause; /* sort clause (a list of SortGroupBy's) */
-} RetrieveStmt;
+} RetrieveStmt;
/****************************************************************************
@@ -581,11 +581,25 @@ typedef struct RetrieveStmt {
****************************************************************************/
/*
+ * SubSelect - specifies subselect parameters
+ */
+typedef struct SubSelect {
+ NodeTag type;
+ char *unique; /* NULL, '*', or unique attribute name */
+ List *targetList; /* the target list (of ResTarget) */
+ List *fromClause; /* the from clause */
+ Node *whereClause; /* qualifications */
+ List *groupClause; /* group by clause */
+ Node *havingClause; /* having conditional-expression */
+} SubSelect;
+
+/*
* TypeName - specifies a type in definitions
*/
typedef struct TypeName {
NodeTag type;
char *name; /* name of the type */
+ bool timezone; /* timezone specified? */
bool setof; /* is a set? */
List *arrayBounds; /* array bounds */
int typlen; /* length for char() and varchar() */