In rewriteheap.c (used by VACUUM FULL and CLUSTER), calculate the tuple
Heikki Linnakangas <heikki.linnakangas@iki.fi>
In rewriteheap.c (used by VACUUM FULL and CLUSTER), calculate the tuple length stored in the line pointer the same way it's calculated in the normal heap_insert() codepath. As noted by Jeff Davis, the length stored by raw_heap_insert() included padding but the one stored by the normal codepath did not. While the mismatch seems to be harmless, inconsistency isn't good, and the normal codepath has received a lot more testing over the years. Backpatch to 8.3 where the heap rewrite code was introduced.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/heap/rewriteheap.c | modified | +1 −1 |