From f3053cb410d4cfa4c0ca2122c2472bcd3681a30e Mon Sep 17 00:00:00 2001 From: "Chao Li (Evan)" 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 --- 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)