Fix EXPLAIN ANALYZE for parallel HashAgg plans
authorDavid Rowley <drowley@postgresql.org>
Fri, 19 Jun 2020 05:24:27 +0000 (17:24 +1200)
committerDavid Rowley <drowley@postgresql.org>
Fri, 19 Jun 2020 05:24:27 +0000 (17:24 +1200)
commit9bdb300dedf086cc54edf740088208e6b24307ef
tree62d1699e8bd93fcd6ce59b16d5fe4bfa6c09c4d7
parentf219167910ad33dfd8f1b0bba15323d71a91c4e9
Fix EXPLAIN ANALYZE for parallel HashAgg plans

Since 1f39bce02, HashAgg nodes have had the ability to spill to disk when
memory consumption exceeds work_mem. That commit added new properties to
EXPLAIN ANALYZE to show the maximum memory usage and disk usage, however,
it didn't quite go as far as showing that information for parallel
workers.  Since workers may have experienced something very different from
the main process, we should show this information per worker, as is done
in Sort.

Reviewed-by: Justin Pryzby
Reviewed-by: Jeff Davis
Discussion: https://postgr.es/m/CAApHDvpEKbfZa18mM1TD7qV6PG+w97pwCWq5tVD0dX7e11gRJw@mail.gmail.com
Backpatch-through: 13, where the hashagg spilling code was added.
src/backend/commands/explain.c
src/backend/executor/execParallel.c
src/backend/executor/nodeAgg.c
src/include/executor/nodeAgg.h
src/include/nodes/execnodes.h