On Mon, 2007-09-10 at 20:46 +0100, Heikki Linnakangas wrote:
> Bruce Momjian wrote:
> > Pavan Deolasee wrote:
> >> At the end of pruning:
> >>
> >> - line pointer of 1 is redirected to 4
> >> - line pointers of 2 and 3 are marked ~LP_USED
> >> - the offset of 4 and 5 is unchanged
> >>
> > In the quote above, how is Heikki's
> > "quick pruning" different from the pruning you are describing?
> In "quick pruning", you don't mark the line pointer as not used.
> Otherwise someone might reuse the line pointer for another tuple, which
> is a problem if you then crash. WAL replay would see an insert to a line
> pointer that's already in use (the quick pruning wouldn't be WAL
> logged), which would raise an error.
That seems like the best way forward to me. It's just a hint that says
where the first live tuple is in the chain.
--
Simon Riggs
2ndQuadrant http://www.2ndQuadrant.com