force_parallel_mode = regress has a blind spot - Mailing list pgsql-hackers

From Tom Lane
Subject force_parallel_mode = regress has a blind spot
Date
Msg-id 18445.1576177309@sss.pgh.pa.us
Whole thread Raw
Responses Re: force_parallel_mode = regress has a blind spot  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
I have just found out the hard way (cf commits 22864f6e0, 776a2c887)
that if one uses EXPLAIN with both ANALYZE and VERBOSE selected,
the output is not the same between force_parallel_mode = off and
force_parallel_mode = regress.  This seems to me to be quite broken;
what's the point of force_parallel_mode = regress if it doesn't
produce the same output?

The reason there's a problem is that ExplainNode() will show
per-worker detail if both es->analyze and es->verbose are set,
even when the only reason there's a worker process is that
force_parallel_mode injected a supposedly-invisible Gather.

I don't see any way to fix this that doesn't involve some sort
of "action at a distance".  One could imagine hiding the per-worker
detail if we're underneath a Gather that has invisible set to
true, but it's not really clear to me that that would do the
right things in a plan with multiple Gather nodes.  Any thoughts
about that?

            regards, tom lane



pgsql-hackers by date:

Previous
From: Арсен Арутюнян
Date:
Subject: Async_Notify
Next
From: Ibrar Ahmed
Date:
Subject: Re: VACUUM memory management