Hacker News new | ask | show | jobs
by aidos 2080 days ago
Oof. That sounds super hairy. Don’t you run into all sorts of weirdness with things like bitmaps expecting to find a specific version of a tuple at a specific location in the heap?
2 comments

Nope. Any time you are looking at a tuple in the existing heap, you have to test it for visibility against your snapshot. With zheap, it's much the same, except that, rather than just "yes or no", the answer could be that you have to following an update chain into the undo log to get an older version.
Ah gotcha. Thanks for the explanation, makes sense. So I guess you still have transaction ids you need to honour on your way back.
This is more or less how MySQL works, hence it's lack of vacuum.