@ -171,11 +171,10 @@ Metapage Caching
Both scanning the index and inserting tuples require locating the bucket
Both scanning the index and inserting tuples require locating the bucket
where a given tuple ought to be located. To do this, we need the bucket
where a given tuple ought to be located. To do this, we need the bucket
count, highmask, and lowmask from the metapage; however, it's undesirable
count, highmask, and lowmask from the metapage; however, it's undesirable
for performance reasons to have to have to lock and pin the metapage for
for performance reasons to have to lock and pin the metapage for every such
every such operation. Instead, we retain a cached copy of the metapage
operation. Instead, we retain a cached copy of the metapage in each backend's
in each backend's relcache entry. This will produce the correct
relcache entry. This will produce the correct bucket mapping as long as the
bucket mapping as long as the target bucket hasn't been split since the
target bucket hasn't been split since the last cache refresh.
last cache refresh.
To guard against the possibility that such a split has occurred, the
To guard against the possibility that such a split has occurred, the
primary page of each bucket chain stores the number of buckets that
primary page of each bucket chain stores the number of buckets that