mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-27 08:39:28 +08:00
Tweak EXPLAIN for parallel query to show workers launched.
The previous display was sort of confusing, because it didn't distinguish between the number of workers that we planned to launch and the number that actually got launched. This has already confused several people, so display both numbers and label them clearly. Julien Rouhaud, reviewed by me.
This commit is contained in:
parent
6b85d4ba9b
commit
5702277ca9
@ -1339,8 +1339,16 @@ ExplainNode(PlanState *planstate, List *ancestors,
|
||||
if (plan->qual)
|
||||
show_instrumentation_count("Rows Removed by Filter", 1,
|
||||
planstate, es);
|
||||
ExplainPropertyInteger("Number of Workers",
|
||||
ExplainPropertyInteger("Workers Planned",
|
||||
gather->num_workers, es);
|
||||
if (es->analyze)
|
||||
{
|
||||
int nworkers;
|
||||
|
||||
nworkers = ((GatherState *) planstate)->nworkers_launched;
|
||||
ExplainPropertyInteger("Workers Launched",
|
||||
nworkers, es);
|
||||
}
|
||||
if (gather->single_copy)
|
||||
ExplainPropertyText("Single Copy",
|
||||
gather->single_copy ? "true" : "false",
|
||||
|
@ -166,6 +166,7 @@ ExecGather(GatherState *node)
|
||||
*/
|
||||
pcxt = node->pei->pcxt;
|
||||
LaunchParallelWorkers(pcxt);
|
||||
node->nworkers_launched = pcxt->nworkers_launched;
|
||||
|
||||
/* Set up tuple queue readers to read the results. */
|
||||
if (pcxt->nworkers_launched > 0)
|
||||
|
@ -1956,6 +1956,7 @@ typedef struct GatherState
|
||||
struct ParallelExecutorInfo *pei;
|
||||
int nreaders;
|
||||
int nextreader;
|
||||
int nworkers_launched;
|
||||
struct TupleQueueReader **reader;
|
||||
TupleTableSlot *funnel_slot;
|
||||
bool need_to_scan_locally;
|
||||
|
Loading…
Reference in New Issue
Block a user