*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: execnodes.h,v 1.24 1999/02/13 23:21:37 momjian Exp $
+ * $Id: execnodes.h,v 1.25 1999/02/23 07:55:23 thomas Exp $
*
*-------------------------------------------------------------------------
*/
* SortState information
*
*| sort nodes are really just a kind of a scan since
- *| we implement sorts by retrieveing the entire subplan
+ *| we implement sorts by retrieving the entire subplan
*| into a temp relation, sorting the temp relation into
*| another sorted relation, and then preforming a simple
*| unqualified sequential scan on the sorted relation..
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: nodes.h,v 1.43 1999/02/13 23:21:38 momjian Exp $
+ * $Id: nodes.h,v 1.44 1999/02/23 07:55:24 thomas Exp $
*
*-------------------------------------------------------------------------
*/
T_SortClause,
T_GroupClause,
T_SubSelect,
- T_JoinUsing,
+ T_JoinExpr,
T_CaseExpr,
T_CaseWhen,
T_RowMark
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: parsenodes.h,v 1.70 1999/02/13 23:21:39 momjian Exp $
+ * $Id: parsenodes.h,v 1.71 1999/02/23 07:55:24 thomas Exp $
*
*-------------------------------------------------------------------------
*/
typedef enum ConstrType /* type of constaints */
{
- CONSTR_NONE, CONSTR_NOTNULL, CONSTR_DEFAULT, CONSTR_CHECK, CONSTR_PRIMARY, CONSTR_UNIQUE
+ CONSTR_NULL, CONSTR_NOTNULL, CONSTR_DEFAULT, CONSTR_CHECK, CONSTR_PRIMARY, CONSTR_UNIQUE
} ConstrType;
typedef struct Constraint
List *forUpdate; /* FOR UPDATE clause */
} SelectStmt;
-
/****************************************************************************
* Supporting data structures for Parse Trees
****************************************************************************/
} SortGroupBy;
/*
- * JoinUsing - for JOIN USING clause
- */
-typedef struct JoinUsing
-{
- NodeTag type;
- int resno; /* target number */
- char *range;
- char *name; /* name of column to sort on */
-} JoinUsing;
-
-/*
* RangeVar - range variable, used in FROM clauses
*/
typedef struct RangeVar
Node *arg; /* a (Value *) or a (TypeName *) */
} DefElem;
+/*
+ * JoinExpr - for JOIN expressions
+ */
+typedef struct JoinExpr
+{
+ NodeTag type;
+ int jointype;
+ RangeVar *larg;
+ Node *rarg;
+ List *quals;
+} JoinExpr;
+
/****************************************************************************
* Nodes for a Query tree