Alvaro Herrera wrote:
> Heikki Linnakangas wrote:
> > I'm sure this still needs some cleanup, but here's the patch, based
> > on your v14. Now that I know what this approach looks like, I still
> > like it much better. The insert and update code is somewhat more
> > complicated, because you have to be careful to lock the old page,
> > new page, and revmap page in the right order. But it's not too bad,
> > and it gets rid of all the complexity in vacuum.
>
> It seems there is some issue here, because pageinspect tells me the
> index is not growing properly for some reason. minmax_revmap_data gives
> me this array of TIDs after a bunch of insert/vacuum/delete/ etc:
I fixed this issue, and did a lot more rework and bugfixing. Here's
v15, based on v14-heikki2.
I think remaining issues are mostly minimal (pageinspect should output
block number alongside each tuple, now that we have it, for example.)
I haven't tested the new xlog records yet.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services