Re: [BUG] false positive in bt_index_check in case of short 4B varlena datum

Andrey Borodin <x4mmm@yandex-team.ru>

From: Andrey Borodin <x4mmm@yandex-team.ru>
To: Alexander Korotkov <aekorotkov@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Alexander Lakhin <exclusion@gmail.com>, Michael Zhilin <m.zhilin@postgrespro.ru>, pgsql-bugs@postgresql.org, Yura Sokolov <y.sokolov@postgrespro.ru>
Date: 2026-05-04T05:20:04Z
Lists: pgsql-bugs

> On 4 May 2026, at 00:44, Alexander Korotkov <aekorotkov@gmail.com> wrote:
> 
> AFAICS, this is correct.  However, I propose an alternative approach:
> use VARSIZE_ANY().  This might be a bit slower, but looks more
> intuitive to me.
Works for me.
However, I'd like to note that (VARSIZE_1B() < TOAST_INDEX_TARGET) is
constantly true for 8Kb+ pages.


Best regards, Andrey Borodin.



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. amcheck: Use correct varlena size accessor in bt_normalize_tuple()