On Sat, 2024-09-28 at 00:04 +1200, David Rowley wrote:
> On Fri, 27 Sept 2024 at 20:42, Laurenz Albe <laurenz.a...@cybertec.at> wrote:
> > 2. The "disabled nodes" are not only shown at the nodes where nodes
> >    were actually disabled, but also at every nodes above these nodes.
> 
> I'm also not a fan either and I'd like to see this output improved.
> 
> It seems like it's easy enough to implement some logic to detect when
> a given node is disabled just by checking if the disable_nodes count
> is higher than the sum of the disabled_node field of the node's
> children.  If there are no children (a scan node) and disabed_nodes >
> 0 then it must be disabled. There's even a nice fast path where we
> don't need to check the children if disabled_nodes == 0.
> 
> Here's a POC grade patch of how I'd rather see it looking.
> 
> I opted to have a boolean field as I didn't see any need for an
> integer count. I also changed things around so we always display the
> boolean property in non-text EXPLAIN. Normally, we don't mind being
> more verbose there.
> 
> I also fixed a bug in make_sort() where disabled_nodes isn't being set
> properly. I'll do an independent patch for that if this goes nowhere.

Thanks, and the patch looks good.

Why did you change "Disabled" from an integer to a boolean?
If you see a join where two plans were disabled, that's useful information.

I would still prefer to see the disabled nodes only in VERBOSE explain,
but I'm satisfied if the disabled nodes don't show up all over the place.

Yours,
Laurenz Albe


Reply via email to