Save a few cycles during nbtree VACUUM.
authorPeter Geoghegan <pg@bowt.ie>
Thu, 11 Mar 2021 22:18:23 +0000 (14:18 -0800)
committerPeter Geoghegan <pg@bowt.ie>
Thu, 11 Mar 2021 22:18:23 +0000 (14:18 -0800)
commit7bb97211a5589265f3f88183ae9353639ab184c6
tree523f5b1f5ef714c38618ec89f5b10735ce9f68ff
parenteffdd3f3b633e88feaa675377075f02ecc99aee4
Save a few cycles during nbtree VACUUM.

Avoid calling RelationGetNumberOfBlocks() unnecessarily in the common
case where there are no deleted but not yet recycled pages to recycle
during a cleanup-only nbtree VACUUM operation.

Follow-up to commit e5d8a999, which (among other things) taught the
"skip full scan" nbtree VACUUM mechanism to only trigger a full index
scan when the absolute number of deleted pages in the index is
considered excessive.
src/backend/access/nbtree/nbtree.c