Re: CREATE INDEX and HOT (was Question:pg_classattributes and race conditions ?)
От | Simon Riggs |
---|---|
Тема | Re: CREATE INDEX and HOT (was Question:pg_classattributes and race conditions ?) |
Дата | |
Msg-id | 1174303304.4160.709.camel@silverbirch.site обсуждение исходный текст |
Ответ на | Re: CREATE INDEX and HOT (was Question:pg_classattributes and race conditions ?) ("Pavan Deolasee" <pavan.deolasee@enterprisedb.com>) |
Список | pgsql-hackers |
On Mon, 2007-03-19 at 16:06 +0530, Pavan Deolasee wrote: > Simon Riggs wrote: > > > > This problem is solved by moving the wait (for all transactions in > > reference snapshot to finish) so that it is now between the first and > > second scans, as described. > > > > During the second Vscan we would prune each block, so the only remaining > > tuple in the block when the second scan sees it would be (10,30) and it > > would no longer be a HOT tuple - the index would have a pointer to it, > > so no new index pointer would be added. The pointer to (10,30) is the > > same pointer that was added in the first phase for the tuple (10,20). > > > > The problem is that in the first phase, the pointer was inserted > with key=20 whereas now its changed to 30. So we need to delete the old > index entry and add a new one. So don't index HOT tuples in the first phase, wait until the second. That should be just a single if() test in IndexBuildHeapScan(). -- Simon Riggs EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: