On 2014-09-26 16:19:33 -0700, Peter Geoghegan wrote: > On Fri, Sep 26, 2014 at 3:25 PM, Peter Geoghegan <p...@heroku.com> wrote: > > On Fri, Sep 26, 2014 at 3:11 PM, Alvaro Herrera > > <alvhe...@2ndquadrant.com> wrote: > >> FWIW there are 28 callers of HeapTupleHeaderGetXmin. > > > Don't forget about direct callers to HeapTupleHeaderGetRawXmin(), > > though. There are plenty of those in tqual.c. > > Which reminds me: commit 37484ad2 added the opportunistic freezing > stuff. To quote the commit message: > > """ > Instead of changing the tuple xmin to FrozenTransactionId, the combination > of HEAP_XMIN_COMMITTED and HEAP_XMIN_INVALID, which were previously never > set together, is now defined as HEAP_XMIN_FROZEN. A variety of previous > proposals to freeze tuples opportunistically before vacuum_freeze_min_age > is reached have foundered on the objection that replacing xmin by > FrozenTransactionId might hinder debugging efforts when things in this > area go awry; this patch is intended to solve that problem by keeping > the XID around (but largely ignoring the value to which it is set). > > """ > > Why wouldn't the same objection (the objection that the earlier > opportunistic freezing ideas stalled on) apply to directly setting > tuple xmin to InvalidTransactionId?
Because it's pretty much unrelated? The FrozenTransactionId bit you reference is about tuples that actually survive, which isn't the case here. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers