Thread: pgsql: Fix EXPLAIN Bitmap heap scan to count pages with no visible tupl

pgsql: Fix EXPLAIN Bitmap heap scan to count pages with no visible tupl

From
Heikki Linnakangas
Date:
Fix EXPLAIN Bitmap heap scan to count pages with no visible tuples

Previously, bitmap heap scans only counted lossy and exact pages for
explain when there was at least one visible tuple on the page.

heapam_scan_bitmap_next_block() returned true only if there was a
"valid" page with tuples to be processed. However, the lossy and exact
page counters in EXPLAIN should count the number of pages represented
in a lossy or non-lossy way in the constructed bitmap, regardless of
whether or not the pages ultimately contained visible tuples.

Backpatch to all supported versions.

Author: Melanie Plageman
Discussion: https://www.postgresql.org/message-id/CAAKRu_ZwCwWFeL_H3ia26bP2e7HiKLWt0ZmGXPVwPO6uXq0vaA@mail.gmail.com
Discussion: https://www.postgresql.org/message-id/CAAKRu_bxrXeZ2rCnY8LyeC2Ls88KpjWrQ%2BopUrXDRXdcfwFZGA@mail.gmail.com

Branch
------
REL_12_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/f3e4581acdc83258ff75a4c03950ff89762c98e6

Modified Files
--------------
src/backend/executor/nodeBitmapHeapscan.c     | 10 +++++-----
src/test/regress/expected/partition_prune.out |  5 ++++-
2 files changed, 9 insertions(+), 6 deletions(-)