mirror of
https://github.com/postgres/postgres.git
synced 2025-06-30 21:42:05 +03:00
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.
This commit is contained in:
@ -984,6 +984,8 @@ ExplainNode(PlanState *planstate, List *ancestors,
|
||||
appendStringInfoString(es->str, "-> ");
|
||||
es->indent += 2;
|
||||
}
|
||||
if (plan->parallel_aware)
|
||||
appendStringInfoString(es->str, "Parallel ");
|
||||
appendStringInfoString(es->str, pname);
|
||||
es->indent++;
|
||||
}
|
||||
@ -1000,6 +1002,8 @@ ExplainNode(PlanState *planstate, List *ancestors,
|
||||
ExplainPropertyText("Subplan Name", plan_name, es);
|
||||
if (custom_name)
|
||||
ExplainPropertyText("Custom Plan Provider", custom_name, es);
|
||||
if (plan->parallel_aware)
|
||||
ExplainPropertyText("Parallel Aware", "true", es);
|
||||
}
|
||||
|
||||
switch (nodeTag(plan))
|
||||
|
Reference in New Issue
Block a user