postgres.git / summary / log / commit / refs
commit 78df27e2ff52d1798f11bd558566746f2d224d8b
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Tue Sep 19 08:53:51 2023 +0000
Fix GiST README's explanation of the NSN cross-check.
The text got the condition backwards, it's "NSN > LSN", not "NSN < LSN".
While we're at it, expand it a little for clarity.
Reviewed-by: Daniel Gustafsson
Discussion: https://www.postgresql.org/message-id/4cb46e18-e688-524a-0f73-b1f03ed5d6ee@iki.fi
src/backend/access/gist/README | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/access/gist/README b/src/backend/access/gist/README
index 25cab0047b6..0ce224e3dec 100644
--- a/src/backend/access/gist/README
+++ b/src/backend/access/gist/README
@@ -270,10 +270,10 @@ should be visited too. When split inserts the downlink to the parent, it
clears the F_FOLLOW_RIGHT flag in the child, and sets the NSN field in the
child page header to match the LSN of the insertion on the parent. If the
F_FOLLOW_RIGHT flag is not set, a scan compares the NSN on the child and the
-LSN it saw in the parent. If NSN < LSN, the scan looked at the parent page
-before the downlink was inserted, so it should follow the rightlink. Otherwise
-the scan saw the downlink in the parent page, and will/did follow that as
-usual.
+LSN it saw in the parent. If the child's NSN is greater than the LSN seen on
+the parent, the scan looked at the parent page before the downlink was
+inserted, so it should follow the rightlink. Otherwise the scan saw the
+downlink in the parent page, and will/did follow that as usual.
A scan can't normally see a page with the F_FOLLOW_RIGHT flag set, because
a page split keeps the child pages locked until the downlink has been inserted
[parent: bb65f3c1b25f]