Ühel kenal päeval, R, 2007-02-09 kell 13:39, kirjutas Heikki Linnakangas: > Tom Lane wrote: > > ISTM we could fix that by extending the index VACUUM interface to > > include two concepts: aside from "remove these TIDs when you find them", > > there could be "replace these TIDs with those TIDs when you find them". > > This would allow pointer-swinging to one of the child tuples, after > > which the old root could be removed. > > Implementing the "replace these TIDs" operation atomically would be > simple, except for the new bitmap index am. It should be possible there > as well, but if the old and new tid happen to be on a different bitmap > page, it requires some care to avoid deadlocks. > > Also, we'd need more work mem for vacuum.
Why do we need to muck around with indexes at all ? What are the problems with just shuffling the last (and only visible) tuple to replace the HOT-hain root and be done with it ? Can there be some problems with seqscans moving one tuple at a time or doing revisits of the "same" (by TID) tuple ? If there are can't these be fixed by creative use of ctid chains form the original live one to the new live one ? > > This has got the same atomicity > > problem as for CREATE INDEX, because it's the same thing: you're > > de-HOT-ifying the child. > > Not exactly. De-HOT-ifying, or chilling, a child means inserting new > index entries. If we can just move the tuple inside the page we can avoid even that. > But if we're just replacing the tids from the existing > index entries, it's ok if we crash after replacing some but not all of > them. The next vacuum would replace the rest of the pointers, and remove > the old root tuple. > -- ---------------- Hannu Krosing Database Architect Skype Technologies OÜ Akadeemia tee 21 F, Tallinn, 12618, Estonia Skype me: callto:hkrosing Get Skype for free: http://www.skype.com ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly