From: Peter Geoghegan Date: Fri, 10 Jan 2025 20:42:17 +0000 (-0500) Subject: Fix obsolete nbtree README left link remarks. X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=5b14ec0a48cca3addfc7262c86e60475b7d84c02;p=users%2Fc2main%2Fpostgres.git 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. --- diff --git a/src/backend/access/nbtree/README b/src/backend/access/nbtree/README index 52e646c7f7..53d4a61dc3 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