From 5f95664e191974d275381577db87858cc121e0f4 Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Wed, 30 Dec 2020 17:21:39 -0800 Subject: [PATCH] Get heap page max offset with buffer lock held. On further reflection it seems better to call PageGetMaxOffsetNumber() after acquiring a buffer lock on the page. This shouldn't really matter, but doing it this way is cleaner. Follow-up to commit 42288174. Backpatch: 12-, just like commit 42288174 --- src/backend/access/heap/heapam.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index 4db3f2507f..1e2536c70e 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -7084,10 +7084,10 @@ heap_compute_xid_horizon_for_tuples(Relation rel, xid_horizon_prefetch_buffer(rel, &prefetch_state, 1); #endif + LockBuffer(buf, BUFFER_LOCK_SHARE); + page = BufferGetPage(buf); maxoff = PageGetMaxOffsetNumber(page); - - LockBuffer(buf, BUFFER_LOCK_SHARE); } /*