File tree 2 files changed +22
-0
lines changed
2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change 6
6
* Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group
7
7
* Portions Copyright (c) 1994, Regents of the University of California
8
8
*
9
+ * This file contains routines that are intended to support setting up,
10
+ * using, and tearing down a ParallelContext from within the PostgreSQL
11
+ * executor. The ParallelContext machinery will handle starting the
12
+ * workers and ensuring that their state generally matches that of the
13
+ * leader; see src/backend/access/transam/README.parallel for details.
14
+ * However, we must save and restore relevant executor state, such as
15
+ * any ParamListInfo associated with the query, buffer usage info, and
16
+ * the actual plan to be passed down to the worker.
9
17
*
10
18
* IDENTIFICATION
11
19
* src/backend/executor/execParallel.c
Original file line number Diff line number Diff line change 6
6
* Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group
7
7
* Portions Copyright (c) 1994, Regents of the University of California
8
8
*
9
+ * A Gather executor launches parallel workers to run multiple copies of a
10
+ * plan. It can also run the plan itself, if the workers are not available
11
+ * or have not started up yet. It then merges all of the results it produces
12
+ * and the results from the workers into a single output stream. Therefore,
13
+ * it will normally be used with a plan where running multiple copies of the
14
+ * same plan does not produce duplicate output, such as PartialSeqScan.
15
+ *
16
+ * Alternatively, a Gather node can be configured to use just one worker
17
+ * and the single-copy flag can be set. In this case, the Gather node will
18
+ * run the plan in one worker and will not execute the plan itself. In
19
+ * this case, it simply returns whatever tuples were returned by the worker.
20
+ * If a worker cannot be obtained, then it will run the plan itself and
21
+ * return the results. Therefore, a plan used with a single-copy Gather
22
+ * node need not be parallel-aware.
9
23
*
10
24
* IDENTIFICATION
11
25
* src/backend/executor/nodeGather.c
You can’t perform that action at this time.
0 commit comments