1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-07 19:06:32 +03:00

Implementation of UNIONs.

This commit is contained in:
Bruce Momjian
1997-12-24 06:06:58 +00:00
parent 18adbd9aed
commit 6231e161c9
7 changed files with 95 additions and 91 deletions

View File

@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: parsenodes.h,v 1.38 1997/12/23 19:58:12 thomas Exp $
* $Id: parsenodes.h,v 1.39 1997/12/24 06:06:53 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -58,6 +58,8 @@ typedef struct Query
int qry_numAgg; /* number of aggregates in the target list */
Aggreg **qry_aggs; /* the aggregates */
List *unionClause; /* unions are linked under the previous query */
/* internal to planner */
List *base_relation_list_; /* base relation list */
List *join_relation_list_; /* list of relations */
@@ -634,6 +636,7 @@ typedef struct RetrieveStmt
Node *havingClause; /* having conditional-expression */
List *unionClause; /* union subselect parameters */
List *sortClause; /* sort clause (a list of SortGroupBy's) */
int unionall; /* union without unique sort */
} RetrieveStmt;
@@ -641,21 +644,6 @@ 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 */
int unionall; /* union without unique sort */
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
*/