pgsql: Make EXPLAIN ANALYZE of HashAgg more similar to Hash Join

From: David Rowley <drowley(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Make EXPLAIN ANALYZE of HashAgg more similar to Hash Join
Date: 2020-07-28 23:43:37
Message-ID: E1k0ZFx-0005AX-AG@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Make EXPLAIN ANALYZE of HashAgg more similar to Hash Join

There were various unnecessary differences between Hash Agg's EXPLAIN
ANALYZE output and Hash Join's. Here we modify the Hash Agg output so
that it's better aligned to Hash Join's.

The following changes have been made:
1. Start batches counter at 1 instead of 0.
2. Always display the "Batches" property, even when we didn't spill to
disk.
3. Use the text "Batches" instead of "HashAgg Batches" for text format.
4. Use the text "Memory Usage" instead of "Peak Memory Usage" for text
format.
5. Include "Batches" before "Memory Usage" in both text and non-text
formats.

In passing also modify the "Planned Partitions" property so that we show
it regardless of if the value is 0 or not for non-text EXPLAIN formats.
This was pointed out by Justin Pryzby and probably should have been part
of 40efbf870.

Reviewed-by: Justin Pryzby, Jeff Davis
Discussion: https://postgr.es/m/CAApHDvrshRnA6C0VFnu7Fb9TVvgGo80PUMm5+2DiaS1gEkPvtw@mail.gmail.com
Backpatch-through: 13, where HashAgg batching was introduced

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/a57c837e5cdf601d6ec05e5e10a40d01f1d2b84e

Modified Files
--------------
src/backend/commands/explain.c | 35 +++++++++++++++++------------------
src/backend/executor/nodeAgg.c | 3 +++
2 files changed, 20 insertions(+), 18 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Geoghegan 2020-07-29 00:00:13 pgsql: Doc: Remove obsolete CREATE AGGREGATE note.
Previous Message David Rowley 2020-07-28 23:42:56 pgsql: Make EXPLAIN ANALYZE of HashAgg more similar to Hash Join