Re: nbtree: reduce code redundancy by using _bt_getmeta() in _bt_gettrueroot()

Neil Chen <carpenter.nail.cz@gmail.com>

From: Neil Chen <carpenter.nail.cz@gmail.com>
To: Chao Li <li.evan.chao@gmail.com>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-01-16T08:09:03Z
Lists: pgsql-hackers
Hi Chao,

On Thu, Jan 15, 2026 at 4:11 PM Chao Li <li.evan.chao@gmail.com> wrote:

>
> I noticed this while reviewing [1]. _bt_gettrueroot() performs the same
> metapage checks as _bt_getmeta(), so using _bt_getmeta() here removes the
> duplicated code.
>
>
It looks good to me. These two code snippets are exactly identical,
so removing the redundant code is reasonable.

As can be seen from the contextual comments, this is not a
performance-critical path either,
so we don’t need to worry about the performance overhead caused by function
calls.

I also checked the changes made in commit dd299df, which essentially does
the same thing for the function _bt_getrootheight.

Commits

  1. Make heap TID a tiebreaker nbtree index column.