From 24785402b25337a30a91ce95889f1dd61e4b84c7 Mon Sep 17 00:00:00 2001 From: Lukas Fittl Date: Thu, 19 Mar 2026 08:31:34 -0700 Subject: [PATCH 1/2] Emit I/O group always for non-text formats --- src/backend/commands/explain.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index ee32fbafa9d..28da983ad29 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -4041,19 +4041,16 @@ print_io_usage(ExplainState *es, IOStats *stats) ExplainCloseGroup("Prefetch", "Prefetch", true, es); - if (stats->io_count > 0) - { - ExplainOpenGroup("I/O", "I/O", true, es); + ExplainOpenGroup("I/O", "I/O", true, es); - ExplainPropertyUInteger("Stalls", NULL, - stats->stall_count, es); - ExplainPropertyFloat("Average IO Size", NULL, - (stats->io_nblocks * 1.0 / stats->io_count), 3, es); - ExplainPropertyFloat("Average IOs In Progress", NULL, - (stats->io_in_progress * 1.0 / stats->io_count), 3, es); + ExplainPropertyUInteger("Stalls", NULL, + stats->stall_count, es); + ExplainPropertyFloat("Average IO Size", NULL, + stats->io_count > 0 ? (stats->io_nblocks * 1.0 / stats->io_count) : 0, 3, es); + ExplainPropertyFloat("Average IOs In Progress", NULL, + stats->io_count > 0 ? (stats->io_in_progress * 1.0 / stats->io_count) : 0, 3, es); - ExplainCloseGroup("I/O", "I/O", true, es); - } + ExplainCloseGroup("I/O", "I/O", true, es); } } } -- 2.47.1