v1-0001-nbtree-deduplicate-metapage-sanity-checks-in-_bt_.patch
application/octet-stream
Filename: v1-0001-nbtree-deduplicate-metapage-sanity-checks-in-_bt_.patch
Type: application/octet-stream
Part: 0
Patch
Format: format-patch
Series: patch v1-0001
Subject: nbtree: deduplicate metapage sanity checks in _bt_gettrueroot()
| File | + | − |
|---|---|---|
| src/backend/access/nbtree/nbtpage.c | 1 | 21 |
From f3053cb410d4cfa4c0ca2122c2472bcd3681a30e Mon Sep 17 00:00:00 2001
From: "Chao Li (Evan)" <lic@highgo.com>
Date: Thu, 15 Jan 2026 15:47:40 +0800
Subject: [PATCH v1] nbtree: deduplicate metapage sanity checks in
_bt_gettrueroot()
Replace duplicated metapage sanity checks in _bt_gettrueroot() with a
call to _bt_getmeta(), matching other nbtree callers.
No behavior change.
Author: Chao Li <lic@highgo.com>
---
src/backend/access/nbtree/nbtpage.c | 22 +---------------------
1 file changed, 1 insertion(+), 21 deletions(-)
diff --git a/src/backend/access/nbtree/nbtpage.c b/src/backend/access/nbtree/nbtpage.c
index 4125c185e8b..c0f7bf91615 100644
--- a/src/backend/access/nbtree/nbtpage.c
+++ b/src/backend/access/nbtree/nbtpage.c
@@ -581,8 +581,6 @@ Buffer
_bt_gettrueroot(Relation rel)
{
Buffer metabuf;
- Page metapg;
- BTPageOpaque metaopaque;
Buffer rootbuf;
Page rootpage;
BTPageOpaque rootopaque;
@@ -601,25 +599,7 @@ _bt_gettrueroot(Relation rel)
rel->rd_amcache = NULL;
metabuf = _bt_getbuf(rel, BTREE_METAPAGE, BT_READ);
- metapg = BufferGetPage(metabuf);
- metaopaque = BTPageGetOpaque(metapg);
- metad = BTPageGetMeta(metapg);
-
- if (!P_ISMETA(metaopaque) ||
- metad->btm_magic != BTREE_MAGIC)
- ereport(ERROR,
- (errcode(ERRCODE_INDEX_CORRUPTED),
- errmsg("index \"%s\" is not a btree",
- RelationGetRelationName(rel))));
-
- if (metad->btm_version < BTREE_MIN_VERSION ||
- metad->btm_version > BTREE_VERSION)
- ereport(ERROR,
- (errcode(ERRCODE_INDEX_CORRUPTED),
- errmsg("version mismatch in index \"%s\": file version %d, "
- "current version %d, minimal supported version %d",
- RelationGetRelationName(rel),
- metad->btm_version, BTREE_VERSION, BTREE_MIN_VERSION)));
+ metad = _bt_getmeta(rel, metabuf);
/* if no root page initialized yet, fail */
if (metad->btm_root == P_NONE)
--
2.39.5 (Apple Git-154)