summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvaro Herrera2024-08-19 00:49:57 +0000
committerAlvaro Herrera2024-08-19 00:49:57 +0000
commit7b063ff26a5fa87ee59d2f2907d9aade87fcb803 (patch)
tree3166b98f0b477a48eb7c974a6c7122d6dbd71799
parent2793acecee340aa9582e0f3efe9ff6cb4b5bdf5a (diff)
Search for SLRU page only in its own bank
One of the two slot scans in SlruSelectLRUPage was not walking only the slots in the specific bank where the buffer could be; change it to do that. Oversight in 53c2a97a9266. Author: Sergey Sargsyan <[email protected]> Discussion: https://postgr.es/m/[email protected]
-rw-r--r--src/backend/access/transam/slru.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/access/transam/slru.c b/src/backend/access/transam/slru.c
index 248aa1a6553..27473009b00 100644
--- a/src/backend/access/transam/slru.c
+++ b/src/backend/access/transam/slru.c
@@ -1184,7 +1184,7 @@ SlruSelectLRUPage(SlruCtl ctl, int64 pageno)
Assert(LWLockHeldByMe(SimpleLruGetBankLock(ctl, pageno)));
/* See if page already has a buffer assigned */
- for (int slotno = 0; slotno < shared->num_slots; slotno++)
+ for (int slotno = bankstart; slotno < bankend; slotno++)
{
if (shared->page_status[slotno] != SLRU_PAGE_EMPTY &&
shared->page_number[slotno] == pageno)