postgres.git / summary / log / commit / refs

commit    543f57fc37e5d18ad4937fe11efd8e58d8fc7b23
Author:   Fujii Masao <fujii@postgresql.org>
Date:     Mon Jul 14 11:40:14 2014 +0000

    Prevent bitmap heap scans from showing unnecessary block info in EXPLAIN ANALYZE.
    
    EXPLAIN ANALYZE shows the information of the numbers of exact/lossy blocks which
    bitmap heap scan processes. But, previously, when those numbers were both zero,
    it displayed only the prefix "Heap Blocks:" in TEXT output format. This is strange
    and would confuse the users. So this commit suppresses such unnecessary information.
    
    Backpatch to 9.4 where EXPLAIN ANALYZE was changed so that such information was
    displayed.
    
    Etsuro Fujita


src/backend/commands/explain.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index 0d9663cd8db..781a736115a 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -1937,13 +1937,16 @@ show_tidbitmap_info(BitmapHeapScanState *planstate, ExplainState *es) } else { - appendStringInfoSpaces(es->str, es->indent * 2); - appendStringInfoString(es->str, "Heap Blocks:"); - if (planstate->exact_pages > 0) - appendStringInfo(es->str, " exact=%ld", planstate->exact_pages); - if (planstate->lossy_pages > 0) - appendStringInfo(es->str, " lossy=%ld", planstate->lossy_pages); - appendStringInfoChar(es->str, '\n'); + if (planstate->exact_pages > 0 || planstate->lossy_pages > 0) + { + appendStringInfoSpaces(es->str, es->indent * 2); + appendStringInfoString(es->str, "Heap Blocks:"); + if (planstate->exact_pages > 0) + appendStringInfo(es->str, " exact=%ld", planstate->exact_pages); + if (planstate->lossy_pages > 0) + appendStringInfo(es->str, " lossy=%ld", planstate->lossy_pages); + appendStringInfoChar(es->str, '\n'); + } } } [parent: 22ccce520671]