Adjust tuplestore stats API
authorDavid Rowley <[email protected]>
Thu, 12 Sep 2024 04:02:01 +0000 (16:02 +1200)
committerDavid Rowley <[email protected]>
Thu, 12 Sep 2024 04:02:01 +0000 (16:02 +1200)
commit9fba1ed2947382af213dfbfabfcd8898c89bf4ca
tree48636fbcd68879eb38b5e330e715e820c4936d7e
parente6c45d85dc168fb05b5ee5596a4de5167c9fe01f
Adjust tuplestore stats API

1eff8279d added an API to tuplestore.c to allow callers to obtain
storage telemetry data.  That API wasn't quite good enough for callers
that perform tuplestore_clear() as the telemetry functions only
accounted for the current state of the tuplestore, not the maximums
before tuplestore_clear() was called.

There's a pending patch that would like to add tuplestore telemetry
output to EXPLAIN ANALYZE for WindowAgg.  That node type uses
tuplestore_clear() before moving to the next window partition and we
want to show the maximum space used, not the space used for the final
partition.

Reviewed-by: Tatsuo Ishii, Ashutosh Bapat
Discussion: https://postgres/m/CAApHDvoY8cibGcicLV0fNh=9JVx9PANcWvhkdjBnDCc9Quqytg@mail.gmail.com
src/backend/commands/explain.c
src/backend/utils/sort/tuplestore.c
src/include/utils/tuplestore.h