aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/execParallel.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/execParallel.c')
-rw-r--r--src/backend/executor/execParallel.c27
1 files changed, 21 insertions, 6 deletions
diff --git a/src/backend/executor/execParallel.c b/src/backend/executor/execParallel.c
index 572a77bb3a0..bdc6b433e4b 100644
--- a/src/backend/executor/execParallel.c
+++ b/src/backend/executor/execParallel.c
@@ -50,14 +50,29 @@
#define PARALLEL_TUPLE_QUEUE_SIZE 65536
-/* DSM structure for accumulating per-PlanState instrumentation. */
+/*
+ * DSM structure for accumulating per-PlanState instrumentation.
+ *
+ * instrument_options: Same meaning here as in instrument.c.
+ *
+ * instrument_offset: Offset, relative to the start of this structure,
+ * of the first Instrumentation object. This will depend on the length of
+ * the plan_node_id array.
+ *
+ * num_workers: Number of workers.
+ *
+ * num_plan_nodes: Number of plan nodes.
+ *
+ * plan_node_id: Array of plan nodes for which we are gathering instrumentation
+ * from parallel workers. The length of this array is given by num_plan_nodes.
+ */
struct SharedExecutorInstrumentation
{
- int instrument_options;
- int instrument_offset; /* offset of first Instrumentation struct */
- int num_workers; /* # of workers */
- int num_plan_nodes; /* # of plan nodes */
- int plan_node_id[FLEXIBLE_ARRAY_MEMBER]; /* array of plan node IDs */
+ int instrument_options;
+ int instrument_offset;
+ int num_workers;
+ int num_plan_nodes;
+ int plan_node_id[FLEXIBLE_ARRAY_MEMBER];
/* array of num_plan_nodes * num_workers Instrumentation objects follows */
};
#define GetInstrumentationArray(sei) \