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:10 +0000 (23:03 +0200)
commit5df5d9cd7ea4f40f6e3efec650bdc7615b6d16ed
tree7a3700b28839015d0ac8f7c6f0d46fc9eef2500f
parenta1a51dc4fab7efdcf3c3a50d9dd9f0a4a420f4f7
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