1. Why do we need scan->rs_nblocks =
RelationGextNumberOfBlocks(scan->rs_base.rs_rd) for every rescan, which looks
mismatched with the comments along the code. and the comments looks
reasonable to me.
2. For the heap scan after an IndexScan, we don't need to know the heap
size, then why do we need to get the nblocks for bitmap heap scan? I think the
similarity between the 2 is that both of them can get a "valid" CTID/pages number
from index scan. To be clearer, I think for bitmap heap scan, we even don't
need check the RelationGextNumberOfBlocks for the initscan.
3. If we need to check nblocks every time, why Parallel Scan doesn't change it
every time?
shall we remove the RelationGextNumberOfBlocks for bitmap heap scan totally
and the rescan for normal heap scan?