diff options
| author | Robert Haas | 2015-11-11 13:57:52 +0000 |
|---|---|---|
| committer | Robert Haas | 2015-11-11 13:57:52 +0000 |
| commit | f0661c4e8c44c0ec7acd4ea7c82e85b265447398 (patch) | |
| tree | 0a31416ab40a9be4ab0f43c6ddd73221eed9dec6 /src/backend/nodes/outfuncs.c | |
| parent | f764ecd81b2a8a1e9000d43a73ca5eec8e8008bc (diff) | |
Make sequential scans parallel-aware.
In addition, this path fills in a number of missing bits and pieces in
the parallel infrastructure. Paths and plans now have a parallel_aware
flag indicating whether whatever parallel-aware logic they have should
be engaged. It is believed that we will need this flag for a number of
path/plan types, not just sequential scans, which is why the flag is
generic rather than part of the SeqScan structures specifically.
Also, execParallel.c now gives parallel nodes a chance to initialize
their PlanState nodes from the DSM during parallel worker startup.
Amit Kapila, with a fair amount of adjustment by me. Review of previous
patch versions by Haribabu Kommi and others.
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
| -rw-r--r-- | src/backend/nodes/outfuncs.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 3d3a7744b52..ab2fdc434e0 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -271,6 +271,7 @@ _outPlanInfo(StringInfo str, const Plan *node) WRITE_FLOAT_FIELD(total_cost, "%.2f"); WRITE_FLOAT_FIELD(plan_rows, "%.0f"); WRITE_INT_FIELD(plan_width); + WRITE_BOOL_FIELD(parallel_aware); WRITE_INT_FIELD(plan_node_id); WRITE_NODE_FIELD(targetlist); WRITE_NODE_FIELD(qual); @@ -1585,6 +1586,7 @@ _outPathInfo(StringInfo str, const Path *node) _outBitmapset(str, node->param_info->ppi_req_outer); else _outBitmapset(str, NULL); + WRITE_BOOL_FIELD(parallel_aware); WRITE_FLOAT_FIELD(rows, "%.0f"); WRITE_FLOAT_FIELD(startup_cost, "%.2f"); WRITE_FLOAT_FIELD(total_cost, "%.2f"); |
