OSDN Git Service

In rewriteheap.c (used by VACUUM FULL and CLUSTER), calculate the tuple
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 9 Nov 2010 15:40:09 +0000 (17:40 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Tue, 9 Nov 2010 15:48:14 +0000 (17:48 +0200)
commit000efc3dfdf425136ef9564e86d1800cbe584e75
tree0ee19705a14d287d6b8bfb66fed1fcf515f22ebf
parent73bc5218df0330a4beb737f497fa8d7b337c9f90
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.
src/backend/access/heap/rewriteheap.c