Skip to content
Snippets Groups Projects
Commit 1bf90bc7 authored by Thomas G. Lockhart's avatar Thomas G. Lockhart
Browse files

Add structure for subselects.

Add field to support "WITH TIME ZONE".
parent 570620c5
Branches
Tags
No related merge requests found
......@@ -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;
/*
......
......@@ -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 $
*
*-------------------------------------------------------------------------
*/
......@@ -565,13 +565,13 @@ 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 *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;
......@@ -580,12 +580,26 @@ typedef struct RetrieveStmt {
* Supporting data structures for Parse Trees
****************************************************************************/
/*
* 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() */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment