> But now that I think of it, how do we get the root tid of a > tuple? I suppose we'd be back to having backpointers or > scanning the whole page... I guess pointer-swinging it is, then.
During vacuum you see a root [stub] not recently dead. You follow the chain to detect if you find a live tuple that can replace the root. You replace the root. You replace the original with a stub that points at the root and mark it recently dead (and HEAP_COPIED_BACK aka Pavan). ... (see prev post) No need for anyone but vacuum to find a root. Andreas ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend