From 5b14ec0a48cca3addfc7262c86e60475b7d84c02 Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Fri, 10 Jan 2025 15:42:17 -0500 Subject: [PATCH] Fix obsolete nbtree README left link remarks. Oversight in commit 1bd4bc85, which made nbtree backwards scans operate off of a copy of each page's left link as of the time of its call to _bt_readpage. --- src/backend/access/nbtree/README | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/access/nbtree/README b/src/backend/access/nbtree/README index 52e646c7f75..53d4a61dc3f 100644 --- a/src/backend/access/nbtree/README +++ b/src/backend/access/nbtree/README @@ -99,9 +99,9 @@ cannot miss any items it should have seen, nor accidentally return the same item twice. The scan must remember the page's right-link at the time it was scanned, since that is the page to move right to; if we move right to the current right-link then we'd re-scan any items moved by a page split. -We don't similarly remember the left-link, since it's best to use the most -up-to-date left-link when trying to move left (see detailed move-left -algorithm below). +We also remember the left-link, and follow it when the scan moves backwards +(though this requires extra handling to account for concurrent splits of +the left sibling; see detailed move-left algorithm below). In most cases we release our lock and pin on a page before attempting to acquire pin and lock on the page we are moving to. In a few places -- 2.39.5