Re: Fix for seg picksplit function

Alexander Korotkov <aekorotkov@gmail.com>

From: Alexander Korotkov <aekorotkov@gmail.com>
To: Yeb Havinga <yebhavinga@gmail.com>
Cc: Alvaro Herrera <alvherre@commandprompt.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2010-11-10T14:46:25Z
Lists: pgsql-hackers
On Wed, Nov 10, 2010 at 5:37 PM, Yeb Havinga <yebhavinga@gmail.com> wrote:

> They are necessary and it is code untouched by this patch, and the same
> line occurs in other picksplit functions as well. The gbt_num_picksplit
> function shows that it can be avoided, by rewriting in the second loop
>
> *left++ = sortItems[i].index;
> into
> v->spl_left[v->spl_nleft] = sortItems[i].index
>
> Even though this is longer code, I prefer this variant over the shorter
> one.
>
I can't understand this point. How the way of spl_left and spl_right arrays
filling is related with additional FirstOffsetNumber value at the end of
array, which is added by "*left = *right = FirstOffsetNumber;" line?

----
With best regards,
Alexander Korotkov.