amcheck: Support for different header sizes of short varlena datum
authorAlexander Korotkov <[email protected]>
Sat, 23 Mar 2024 20:59:56 +0000 (22:59 +0200)
committerAlexander Korotkov <[email protected]>
Sat, 23 Mar 2024 21:03:14 +0000 (23:03 +0200)
commit50f8611d073e255c9d5b3792965595879c22c610
tree017d9e87db40a65d2dfbe3ca3661c28f4c3c4597
parent82c2192d9c866c965dc0e2b17df36ee3fbe26a8e
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