Skip to content

Commit 68ef887

Browse files
Remove obsolete nbtree README commentary.
Commit d2086b0 removed almost all cases where nbtree must release a read buffer lock and acquire a write buffer lock instead, so remaining cases in which that's still necessary are not notable enough to appear in the nbtree README. More importantly, holding on to a buffer pin in cases where nbtree must trade a read lock for a write lock is very unlikely to save any I/O. This seems to have been a long overlooked throwback to a time when nbtree cared about write-ordering dependencies, and performed synchronous buffer writes. It hasn't worked that way in many years.
1 parent 31d4371 commit 68ef887

File tree

1 file changed

+1
-4
lines changed
  • src/backend/access/nbtree

1 file changed

+1
-4
lines changed

src/backend/access/nbtree/README

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,7 @@ copies of tree pages are unshared. Postgres shares in-memory buffers
6565
among backends. As a result, we do page-level read locking on btree
6666
pages in order to guarantee that no record is modified while we are
6767
examining it. This reduces concurrency but guarantees correct
68-
behavior. An advantage is that when trading in a read lock for a
69-
write lock, we need not re-read the page after getting the write lock.
70-
Since we're also holding a pin on the shared buffer containing the
71-
page, we know that buffer still contains the page and is up-to-date.
68+
behavior.
7269

7370
We support the notion of an ordered "scan" of an index as well as
7471
insertions, deletions, and simple lookups. A scan in the forward

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy