summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Geoghegan2021-03-02 22:06:07 +0000
committerPeter Geoghegan2021-03-02 22:06:07 +0000
commit5b2f2af3d9d57626b9052a05337e32ad1399093d (patch)
tree0a499cf2435ca215d6edc9a6d3ef83ab44d6a675 /src
parent3d8d5787a358156edaa7782f0c88e231af974a01 (diff)
nbtree page deletion: Add leaftopparent assertion.
Add documenting assertion. This makes it easier to follow how we maintain the top parent link in target subtree's half-dead/leaf level page.
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/nbtree/nbtpage.c3
-rw-r--r--src/backend/access/nbtree/nbtxlog.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/access/nbtree/nbtpage.c b/src/backend/access/nbtree/nbtpage.c
index 84ea7eac58..c09e492a5f 100644
--- a/src/backend/access/nbtree/nbtpage.c
+++ b/src/backend/access/nbtree/nbtpage.c
@@ -2458,6 +2458,9 @@ _bt_unlink_halfdead_page(Relation rel, Buffer leafbuf, BlockNumber scanblkno,
leaftopparent = InvalidBlockNumber;
}
+ /* No leaftopparent for level 0 (leaf page) or level 1 target */
+ Assert(!BlockNumberIsValid(leaftopparent) || targetlevel > 1);
+
/*
* And next write-lock the (current) right sibling.
*/
diff --git a/src/backend/access/nbtree/nbtxlog.c b/src/backend/access/nbtree/nbtxlog.c
index 8b7c143db4..990f5d0f52 100644
--- a/src/backend/access/nbtree/nbtxlog.c
+++ b/src/backend/access/nbtree/nbtxlog.c
@@ -818,7 +818,7 @@ btree_xlog_unlink_page(uint8 info, XLogReaderState *record)
safexid = xlrec->safexid;
/* No leaftopparent for level 0 (leaf page) or level 1 target */
- Assert(xlrec->leaftopparent == InvalidBlockNumber || level > 1);
+ Assert(!BlockNumberIsValid(xlrec->leaftopparent) || level > 1);
/*
* In normal operation, we would lock all the pages this WAL record