amcheck: Support for different header sizes of short varlena datum
authorAlexander Korotkov <akorotkov@postgresql.org>
Sat, 23 Mar 2024 20:59:56 +0000 (22:59 +0200)
committerAlexander Korotkov <akorotkov@postgresql.org>
Sat, 23 Mar 2024 22:09:24 +0000 (00:09 +0200)
commitab65dfb0fb2908989c0ef3330464b7af171e9728
tree93aa1fe62d71f5bcdf3225ee0485471808e8efd0
parent697f8d266cfb33409f7ccf3319f4448477066329
amcheck: Support for different header sizes of short varlena datum

In the heap, tuples may contain short varlena datum with both 1B header and 4B
headers.  But the corresponding index tuple should always have such varlena's
with 1B headers.  So, for fingerprinting, we need to convert.

Backpatch to all supported versions.

Discussion: https://postgr.es/m/flat/7bdbe559-d61a-4ae4-a6e1-48abdf3024cc%40postgrespro.ru
Author: Michael Zhilin
Reviewed-by: Alexander Lakhin, Andrey Borodin, Jian He, Alexander Korotkov
Backpatch-through: 12
contrib/amcheck/expected/check_btree.out
contrib/amcheck/sql/check_btree.sql
contrib/amcheck/verify_nbtree.c