From 0a8e9c4e7f1b4866b5ed9cbe9349ca85232e76c0 Mon Sep 17 00:00:00 2001 From: "Thomas G. Lockhart" Date: Tue, 23 Feb 1999 07:55:24 +0000 Subject: [PATCH] Define JoinExpr structure for outer join syntax. Clean up comments in execnodes.h. --- src/include/nodes/execnodes.h | 4 ++-- src/include/nodes/nodes.h | 4 ++-- src/include/nodes/parsenodes.h | 28 ++++++++++++++-------------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index 0c0f86993b..59962ddb80 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -6,7 +6,7 @@ * * 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 $ * *------------------------------------------------------------------------- */ @@ -607,7 +607,7 @@ typedef struct GroupState * 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.. diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h index 65733ce7f4..4dd868b681 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.43 1999/02/13 23:21:38 momjian Exp $ + * $Id: nodes.h,v 1.44 1999/02/23 07:55:24 thomas Exp $ * *------------------------------------------------------------------------- */ @@ -215,7 +215,7 @@ typedef enum NodeTag T_SortClause, T_GroupClause, T_SubSelect, - T_JoinUsing, + T_JoinExpr, T_CaseExpr, T_CaseWhen, T_RowMark diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 384a5028f1..c55a8cf93b 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.70 1999/02/13 23:21:39 momjian Exp $ + * $Id: parsenodes.h,v 1.71 1999/02/23 07:55:24 thomas Exp $ * *------------------------------------------------------------------------- */ @@ -149,7 +149,7 @@ typedef struct CreateStmt 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 @@ -671,7 +671,6 @@ typedef struct SelectStmt List *forUpdate; /* FOR UPDATE clause */ } SelectStmt; - /**************************************************************************** * Supporting data structures for Parse Trees ****************************************************************************/ @@ -854,17 +853,6 @@ typedef struct SortGroupBy Node *node; /* Expression */ } 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 */ @@ -898,6 +886,18 @@ typedef struct DefElem 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