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:02:43 +0000 (23:02 +0200)
commit54e6184db3613e868ca7f042aebe69393fd73b96
treea2f7d1366e71f1d201920e151572eb020534e7f9
parent12128be623fdfd1f15167a477d7de46744fb9bca
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