Re: Making all nbtree entries unique by having heap TIDs participatein comparisons
От | Peter Geoghegan |
---|---|
Тема | Re: Making all nbtree entries unique by having heap TIDs participatein comparisons |
Дата | |
Msg-id | CAH2-Wz=4BUgqWFV8RYJO+y59j1XVAn++Tou2OwFL6yivZUQqew@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Making all nbtree entries unique by having heap TIDs participatein comparisons (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: Making all nbtree entries unique by having heap TIDs participatein comparisons
|
Список | pgsql-hackers |
On Tue, Jun 19, 2018 at 4:03 AM, Amit Kapila <amit.kapila16@gmail.com> wrote: >> I imagine that retail index tuple deletion (the whole point of this >> project) would be run by a VACUUM-like process that kills tuples that >> are dead to everyone. Even with something like zheap, you cannot just >> delete index tuples until you establish that they're truly dead. I >> guess that the delete marking stuff that Robert mentioned marks tuples >> as dead when the deleting transaction commits. >> > > No, I don't think that is the case because we want to perform in-place > updates for indexed-column-updates. If we won't delete-mark the index > tuple before performing in-place update, then we will have two tuples > in the index which point to the same heap-TID. How can an old MVCC snapshot that needs to find the heap tuple using some now-obsolete key values get to the heap tuple via an index scan if there are no index tuples that stick around until "recently dead" heap tuples become "fully dead"? How can you avoid keeping around both old and new index tuples at the same time? -- Peter Geoghegan
В списке pgsql-hackers по дате отправления: