On Sun, 2010-01-31 at 16:53 -0500, Tom Lane wrote: > Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> writes: > > IIRC it was Greg Stark who suggested last time this was discussed that > > we could calculate the exact value for latestRemovedXid in the standby. > > When replaying the deletion record, the standby could look at all the > > heap tuples whose index pointers are being removed, to see which one was > > newest. > > This assumes that the standby can tell which heap tuples are being > removed, which I'm not sure is true --- consider the case where the > deletion record is carrying a page image instead of a list of deleted > tuples. But maybe we could rejigger the representation to make sure > that the info is always available. In general it sounds like a much > nicer answer.
I'm looking at this now since we definitely need either this or the previous patch. XLOG_BTREE_DELETE records would not carry latestRemovedXid, this would be calculated by inspection of heap tuples. XLOG_BTREE_DELETE would have a heap relid, to allow direct access to the heap without a Relation. We would check xmin, xmax and xvac. Code will look a little like heap_fetch() though disimilar enough not to use directly. We would only look at the tuple header and info. -- Simon Riggs www.2ndQuadrant.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers