diff options
Diffstat (limited to 'src/include/nodes')
| -rw-r--r-- | src/include/nodes/execnodes.h | 12 | ||||
| -rw-r--r-- | src/include/nodes/plannodes.h | 5 | ||||
| -rw-r--r-- | src/include/nodes/relation.h | 1 |
3 files changed, 14 insertions, 4 deletions
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index 58ec889b2f0..eb3591a663f 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -1248,11 +1248,15 @@ typedef struct ScanState TupleTableSlot *ss_ScanTupleSlot; } ScanState; -/* - * SeqScan uses a bare ScanState as its state node, since it needs - * no additional fields. +/* ---------------- + * SeqScanState information + * ---------------- */ -typedef ScanState SeqScanState; +typedef struct SeqScanState +{ + ScanState ss; /* its first field is NodeTag */ + Size pscan_len; /* size of parallel heap scan descriptor */ +} SeqScanState; /* ---------------- * SampleScanState information diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h index 6b28c8e28f4..292219db51f 100644 --- a/src/include/nodes/plannodes.h +++ b/src/include/nodes/plannodes.h @@ -109,6 +109,11 @@ typedef struct Plan int plan_width; /* average row width in bytes */ /* + * information needed for parallel query + */ + bool parallel_aware; /* engage parallel-aware logic? */ + + /* * Common structural data for all Plan types. */ int plan_node_id; /* unique across entire final plan tree */ diff --git a/src/include/nodes/relation.h b/src/include/nodes/relation.h index 6cf2e24ce7d..d7406cc6149 100644 --- a/src/include/nodes/relation.h +++ b/src/include/nodes/relation.h @@ -753,6 +753,7 @@ typedef struct Path RelOptInfo *parent; /* the relation this path can build */ ParamPathInfo *param_info; /* parameterization info, or NULL if none */ + bool parallel_aware; /* engage parallel-aware logic? */ /* estimated size/costs for path (see costsize.c for more info) */ double rows; /* estimated number of result tuples */ |
