Move the tuple freezing point in CLUSTER to a point further back in the past,
Alvaro Herrera <alvherre@alvh.no-ip.org>
Move the tuple freezing point in CLUSTER to a point further back in the past, to avoid losing useful Xid information in not-so-old tuples. This makes CLUSTER behave the same as VACUUM as far a tuple-freezing behavior goes (though CLUSTER does not yet advance the table's relfrozenxid). While at it, move the actual freezing operation in rewriteheap.c to a more appropriate place, and document it thoroughly. This part of the patch from Tom Lane.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/heap/rewriteheap.c | modified | +20 −5 |
| src/backend/commands/cluster.c | modified | +11 −4 |
| src/backend/commands/vacuum.c | modified | +5 −5 |
| src/backend/commands/vacuumlazy.c | modified | +2 −2 |
| src/include/access/rewriteheap.h | modified | +4 −3 |
| src/include/commands/vacuum.h | modified | +2 −2 |