Re: Small patch for GiST: move childoffnum to child

Поиск
Список
Период
Сортировка
От Alexander Korotkov
Тема Re: Small patch for GiST: move childoffnum to child
Дата
Msg-id CAPpHfdtYR9DW+P+Pbh6X8BrNWs2sEwEzc+nAeC1D9wZ8Fnzkgg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Small patch for GiST: move childoffnum to child  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Ответы Re: Small patch for GiST: move childoffnum to child
Список pgsql-hackers
On Thu, Jul 14, 2011 at 12:56 PM, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> wrote:
First, notice that we're setting "ptr->parent = top". 'top' is the current node we're processing, and ptr represents the node to the right of the current node. The current node is *not* the parent of the node to the right. I believe that line should be "ptr->parent = top->parent".
I think same.
 
Second, we're adding the entry for the right sibling to the end of the list of nodes to visit. But when we process entries from the list, we exit immediately when we see a leaf page. That means that the right sibling can get queued up behind leaf pages, and thus never visited.
I think possible solution is to save right sibling immediatly after current page . Thus, this code fragment should looks like this:
 
               if (top->parent && XLByteLT(top->parent->lsn, GistPageGetOpaque(page)->nsn) &&
                       GistPageGetOpaque(page)->rightlink != InvalidBlockNumber /* sanity check */ )
               {
                       /* page splited while we thinking of... */
                       ptr = (GISTInsertStack *) palloc0(sizeof(GISTInsertStack));
                       ptr->blkno = GistPageGetOpaque(page)->rightlink;
                       ptr->childoffnum = InvalidOffsetNumber;
                       ptr->parent = top->parent;
                       ptr->next = top->next;
                       top->next = ptr;
                       if (tail == top);
                               tail = ptr;
               }
 
------
With best regards,
Alexander Korotkov.

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: Reduced power consumption in WAL Writer process
Следующее
От: Mark Kirkwood
Дата:
Сообщение: Re: Re: patch review : Add ability to constrain backend temporary file space