aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeGather.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2015-10-22 10:37:24 -0400
committerRobert Haas <rhaas@postgresql.org>2015-10-22 10:37:24 -0400
commit1a219fa15bf802d69621e71c43d1a09515bcdc50 (patch)
treed1f58ffbd60c362e52c79ac189cc0101289c9400 /src/backend/executor/nodeGather.c
parente4a618aa1ec420f40198e89ef1afd7a4e8cfcecf (diff)
downloadpostgresql-1a219fa15bf802d69621e71c43d1a09515bcdc50.tar.gz
postgresql-1a219fa15bf802d69621e71c43d1a09515bcdc50.zip
Add header comments to execParallel.c and nodeGather.c.
Patch by me, per a note from Simon Riggs. Reviewed by Amit Kapila and Amit Langote.
Diffstat (limited to 'src/backend/executor/nodeGather.c')
-rw-r--r--src/backend/executor/nodeGather.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/backend/executor/nodeGather.c b/src/backend/executor/nodeGather.c
index 7e2272f634b..69df9e301c2 100644
--- a/src/backend/executor/nodeGather.c
+++ b/src/backend/executor/nodeGather.c
@@ -6,6 +6,20 @@
* Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
+ * A Gather executor launches parallel workers to run multiple copies of a
+ * plan. It can also run the plan itself, if the workers are not available
+ * or have not started up yet. It then merges all of the results it produces
+ * and the results from the workers into a single output stream. Therefore,
+ * it will normally be used with a plan where running multiple copies of the
+ * same plan does not produce duplicate output, such as PartialSeqScan.
+ *
+ * Alternatively, a Gather node can be configured to use just one worker
+ * and the single-copy flag can be set. In this case, the Gather node will
+ * run the plan in one worker and will not execute the plan itself. In
+ * this case, it simply returns whatever tuples were returned by the worker.
+ * If a worker cannot be obtained, then it will run the plan itself and
+ * return the results. Therefore, a plan used with a single-copy Gather
+ * node need not be parallel-aware.
*
* IDENTIFICATION
* src/backend/executor/nodeGather.c