From: | Alexander Korotkov <aekorotkov(at)gmail(dot)com> |
---|---|
To: | Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>, Teodor Sigaev <teodor(at)sigaev(dot)ru> |
Cc: | Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Yeb Havinga <yebhavinga(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Fix for seg picksplit function |
Date: | 2010-11-10 15:06:22 |
Message-ID: | AANLkTikjM74_HsTuFSRoW8V5m-v+iFdOA+=66f1Uukep@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Nov 10, 2010 at 6:05 PM, Yeb Havinga <yebhavinga(at)gmail(dot)com> wrote:
> On 2010-11-10 15:46, Alexander Korotkov wrote:
>
> On Wed, Nov 10, 2010 at 5:37 PM, Yeb Havinga <yebhavinga(at)gmail(dot)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?
>
> You're right, they are not related. I'm no longer sure it is necessary,
> looking at gistUserPicksplit.
>
Teodor, Oleg, probably, you can help us. Is "*left = *right =
FirstOffsetNumber;" line necessary in picksplit function or doing something
useful?
----
With best regards,
Alexander Korotkov.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2010-11-10 15:07:12 | Re: Fix for seg picksplit function |
Previous Message | Yeb Havinga | 2010-11-10 15:05:13 | Re: Fix for seg picksplit function |