Thread: pgsql: Teach TID store to skip bitmap for small numbers of offsets

pgsql: Teach TID store to skip bitmap for small numbers of offsets

From
John Naylor
Date:
Teach TID store to skip bitmap for small numbers of offsets

The header portion of BlocktableEntry has enough padding space for
an array of 3 offsets (1 on 32-bit platforms). Use this space instead
of having a sparse bitmap array. This will take up a constant amount
of space no matter what the offsets are.

Reviewed (in an earlier version) by Masahiko Sawada

Discussion: https://postgr.es/m/CANWCAZYw+_KAaUNruhJfE=h6WgtBKeDG32St8vBJBEY82bGVRQ@mail.gmail.com
Discussion: https://postgr.es/m/CAD21AoBci3Hujzijubomo1tdwH3XtQ9F89cTNQ4bsQijOmqnEw@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f35bd9bf359d3d740063997e1cbab9b69df7af99

Modified Files
--------------
src/backend/access/common/tidstore.c               | 129 +++++++++++++++------
.../test_tidstore/expected/test_tidstore.out       |  28 +++++
.../modules/test_tidstore/sql/test_tidstore.sql    |  10 ++
3 files changed, 130 insertions(+), 37 deletions(-)