aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeBitmapHeapscan.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2014-01-13 14:42:16 -0500
committerRobert Haas <rhaas@postgresql.org>2014-01-13 14:42:16 -0500
commit2bb1f14b89deacd1142b4a06bcb1a52a76270449 (patch)
treebf36adfe14e71c70c621d8db66c92978927afb07 /src/backend/executor/nodeBitmapHeapscan.c
parentc3ccc9ee584b9b015dd9c1931e261e21f3961e5f (diff)
downloadpostgresql-2bb1f14b89deacd1142b4a06bcb1a52a76270449.tar.gz
postgresql-2bb1f14b89deacd1142b4a06bcb1a52a76270449.zip
Make bitmap heap scans show exact/lossy block info in EXPLAIN ANALYZE.
Etsuro Fujita
Diffstat (limited to 'src/backend/executor/nodeBitmapHeapscan.c')
-rw-r--r--src/backend/executor/nodeBitmapHeapscan.c7
1 files changed, 7 insertions, 0 deletions
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;