diff options
Diffstat (limited to 'src/include/nodes/execnodes.h')
-rw-r--r-- | src/include/nodes/execnodes.h | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index 65d35a2977e..06de4be54cb 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2000, PostgreSQL, Inc * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: execnodes.h,v 1.50 2000/09/29 18:21:38 tgl Exp $ + * $Id: execnodes.h,v 1.51 2000/10/05 19:11:36 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -348,7 +348,6 @@ typedef struct ResultState * whichplan which plan is being executed * nplans how many plans are in the list * initialized array of ExecInitNode() results - * rtentries range table for the current plan * result_relation_info_list array of each subplan's result relation info * junkFilter_list array of each subplan's junk filter * ---------------- @@ -359,7 +358,6 @@ typedef struct AppendState int as_whichplan; int as_nplans; bool *as_initialized; - List *as_rtentries; List *as_result_relation_info_list; List *as_junkFilter_list; } AppendState; @@ -460,14 +458,12 @@ typedef struct TidScanState * The sub-query will have its own EState, which we save here. * ScanTupleSlot references the current output tuple of the sub-query. * - * SubQueryDesc queryDesc for sub-query * SubEState exec state for sub-query * ---------------- */ typedef struct SubqueryScanState { CommonScanState csstate; /* its first field is NodeTag */ - struct QueryDesc *sss_SubQueryDesc; EState *sss_SubEState; } SubqueryScanState; @@ -659,6 +655,26 @@ typedef struct UniqueState MemoryContext tempContext; /* short-term context for comparisons */ } UniqueState; +/* ---------------- + * SetOpState information + * + * SetOp nodes are used "on top of" sort nodes to discard + * duplicate tuples returned from the sort phase. These are + * more complex than a simple Unique since we have to count + * how many duplicates to return. + * ---------------- + */ +typedef struct SetOpState +{ + CommonState cstate; /* its first field is NodeTag */ + FmgrInfo *eqfunctions; /* per-field lookup data for equality fns */ + bool subplan_done; /* has subplan returned EOF? */ + long numLeft; /* number of left-input dups of cur group */ + long numRight; /* number of right-input dups of cur group */ + long numOutput; /* number of dups left to output */ + MemoryContext tempContext; /* short-term context for comparisons */ +} SetOpState; + /* ---------------- * HashState information |