Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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

+1-4
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)