1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-20 05:03:10 +03:00

Fix pg_visibility regression failure with CLOBBER_CACHE_ALWAYS

Commit 8e03eb92e9 reverted a bit too much code, reintroducing one of the
issues fixed by 39b66a91bd - a page might have been left partially empty
after relcache invalidation.

Reported-By: Tom Lane
Author: Masahiko Sawada
Discussion: https://postgr.es/m/822752.1623032114@sss.pgh.pa.us
Discussion: https://postgr.es/m/CAD21AoA%3D%3Df2VSw3c-Cp_y%3DWLKHMKc1D6s7g3YWsCOvgaYPpJcg%40mail.gmail.com
This commit is contained in:
Tomas Vondra
2021-06-08 19:24:27 +02:00
parent bfeede9fa4
commit d1f0aa7696

View File

@ -407,6 +407,7 @@ RelationGetBufferForTuple(Relation relation, Size len,
* target. * target.
*/ */
targetBlock = GetPageWithFreeSpace(relation, targetFreeSpace); targetBlock = GetPageWithFreeSpace(relation, targetFreeSpace);
}
/* /*
* If the FSM knows nothing of the rel, try the last page before we * If the FSM knows nothing of the rel, try the last page before we
@ -420,7 +421,6 @@ RelationGetBufferForTuple(Relation relation, Size len,
if (nblocks > 0) if (nblocks > 0)
targetBlock = nblocks - 1; targetBlock = nblocks - 1;
} }
}
loop: loop:
while (targetBlock != InvalidBlockNumber) while (targetBlock != InvalidBlockNumber)