From 2bb1f14b89deacd1142b4a06bcb1a52a76270449 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Mon, 13 Jan 2014 14:42:16 -0500 Subject: Make bitmap heap scans show exact/lossy block info in EXPLAIN ANALYZE. Etsuro Fujita --- src/backend/executor/nodeBitmapHeapscan.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/backend/executor') diff --git a/src/backend/executor/nodeBitmapHeapscan.c b/src/backend/executor/nodeBitmapHeapscan.c index 3d98c2335c1..1a8d4e51430 100644 --- a/src/backend/executor/nodeBitmapHeapscan.c +++ b/src/backend/executor/nodeBitmapHeapscan.c @@ -170,6 +170,11 @@ BitmapHeapNext(BitmapHeapScanState *node) */ bitgetpage(scan, tbmres); + if (tbmres->ntuples >= 0) + node->exact_pages++; + else + node->lossy_pages++; + /* * Set rs_cindex to first slot to examine */ @@ -553,6 +558,8 @@ ExecInitBitmapHeapScan(BitmapHeapScan *node, EState *estate, int eflags) scanstate->tbm = NULL; scanstate->tbmiterator = NULL; scanstate->tbmres = NULL; + scanstate->exact_pages = 0; + scanstate->lossy_pages = 0; scanstate->prefetch_iterator = NULL; scanstate->prefetch_pages = 0; scanstate->prefetch_target = 0; -- cgit v1.2.3