Avoid having two copies of the HOT-chain search logic.

Robert Haas <rhaas@postgresql.org>

Commit: 4da99ea4231e3d8bbf28b666748c1028e7b7d665
Author: Robert Haas <rhaas@postgresql.org>
Date: 2011-06-27T14:27:17Z
Releases: 9.2.0
Avoid having two copies of the HOT-chain search logic.

It's been like this since HOT was originally introduced, but the logic
is complex enough that this is a recipe for bugs, as we've already
found out with SSI.  So refactor heap_hot_search_buffer() so that it
can satisfy the needs of index_getnext(), and make index_getnext() use
that rather than duplicating the logic.

This change was originally proposed by Heikki Linnakangas as part of a
larger refactoring oriented towards allowing index-only scans.  I
extracted and adjusted this part, since it seems to have independent
merit.  Review by Jeff Davis.

Files