pgsql: Fix some inconsistencies in EXPLAIN output

From: David Rowley <drowley(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix some inconsistencies in EXPLAIN output
Date: 2024-05-16 00:50:37
Message-ID: E1s7PKP-000PoR-8H@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix some inconsistencies in EXPLAIN output

06286709e added a SERIALIZE option to EXPLAIN which included showing the
amount of kilobytes serialized. The calculation to convert bytes into
kilobytes wasn't consistent with how that's done in the rest of EXPLAIN.
Traditionally we round up to the nearest kB, but the new code rounded to
the nearest kB.

To fix this, invent a macro that does the conversion and use that macro
everywhere that requires this conversion.

Additionally, 5de890e36 added EXPLAIN (MEMORY) but included the memory
sizes in bytes. Convert these values to kilobytes to align with the
other memory related outputs.

In passing, swap out a "long" type in show_hash_info() and use a uint64
instead. We do support platforms where sizeof(Size) == 8 and
sizeof(long) == 4, so using a long there is questionable.

Reported-by: jian he
Reviewed-by: jian he
Discussion: https://www.postgresql.org/message-id/CACJufxE4Sp7xvgOwhqtFx5hS85AxMKobPWDo-xZHZVTpK3EBjA@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0de37b51065bc5b5848d65a9bb6f932ef392374f

Modified Files
--------------
src/backend/commands/explain.c | 48 ++++++++++++++++++++---------------
src/test/regress/expected/explain.out | 6 ++---
2 files changed, 30 insertions(+), 24 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Thomas Munro 2024-05-16 02:02:03 pgsql: jit: Remove {llvm-config,clang}-N configure probes.
Previous Message Michael Paquier 2024-05-16 00:17:05 pgsql: doc: Mention more variant --name=value of -c name=value for post