Re: HOT updates & REDIRECT line pointers
От | Robert Haas |
---|---|
Тема | Re: HOT updates & REDIRECT line pointers |
Дата | |
Msg-id | CA+TgmobwBRZ-vEKFgf-wSTYzsQmZGcvp7TJp8wLCGwEhPuEc+w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: HOT updates & REDIRECT line pointers (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: HOT updates & REDIRECT line pointers
|
Список | pgsql-hackers |
On Wed, Mar 21, 2012 at 8:13 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > I wrote: >> Robert Haas <robertmhaas@gmail.com> writes: >>> Specifically, I'm wondering if we couldn't get away with rearranging >>> things so that the root line pointer (which has index entries) points >>> to the actual tuple, and the other line pointer (which can't have any >>> index entries) gets marked UNUSED. > >> This would amount to changing the TID of the live row. > > Another issue, quite independent from race conditions against other > observers of the row, is what if the tuple is part of an update chain? > You have no way to find the predecessor row version and update its > t_ctid forward link. I don't see why I need to. The predecessor, if any, points to the root of the HOT chain; and that's exactly the TID that I'm proposing to keep around. The heap-only tuple's TID gets canned, but nobody can be pointing to that from outside the block, IIUC. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: