From: | Alexander Korotkov <aekorotkov(at)gmail(dot)com> |
---|---|
To: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
Subject: | Re: Small patch for GiST: move childoffnum to child |
Date: | 2011-07-14 10:29:36 |
Message-ID: | CAPpHfdtYR9DW+P+Pbh6X8BrNWs2sEwEzc+nAeC1D9wZ8Fnzkgg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Jul 14, 2011 at 12:56 PM, Heikki Linnakangas <
heikki(dot)linnakangas(at)enterprisedb(dot)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.
From | Date | Subject | |
---|---|---|---|
Next Message | Mark Kirkwood | 2011-07-14 10:34:30 | Re: Re: patch review : Add ability to constrain backend temporary file space |
Previous Message | Simon Riggs | 2011-07-14 10:00:25 | Re: Reduced power consumption in WAL Writer process |