Re: Double sorting split patch

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Double sorting split patch
Date: 2011-10-04 08:12:57
Message-ID: 4E8AC009.5040806@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 22.09.2011 22:12, Alexander Korotkov wrote:
> Patch without that dead code is attached.

Thanks.

Can you elaborate the consider-split algorithm? The criteria to select
the new split over the previously selected one is this:
> ! /*
> ! * If ratio is acceptable, we should compare current split with
> ! * previously selected one. If no split was selected then we select
> ! * current anyway. Between splits of one dimension we search for
> ! * minimal overlap (allowing negative values) and minimal ration
> ! * (between same overlaps. We switch dimension if find less overlap
> ! * (non-negative) or less range with same overlap.
> ! */
> ! range = diminfo->upper - diminfo->lower;
> ! overlap = ((leftUpper) - (rightLower)) / range;
> ! if (context->first ||
> ! (context->dim == dimNum &&
> ! (overlap < context->overlap ||
> ! (overlap == context->overlap && ratio > context->ratio))) ||
> ! (context->dim != dimNum &&
> ! ((range > context->range &&
> ! non_negative(overlap) <= non_negative(context->overlap)) ||
> ! non_negative(overlap) < non_negative(context->overlap)))
> ! )
> ! {

Why are negative overlaps handled differently across dimensions and
within the same dimension? Your considerSplit algorithm in the SYRCoSE
2011 paper doesn't seem to make that distinction.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alex Hunsaker 2011-10-04 08:34:14 Re: Re: [COMMITTERS] pgsql: Force strings passed to and from plperl to be in UTF8 encoding.
Previous Message Dimitri Fontaine 2011-10-04 07:51:53 Re: Should we get rid of custom_variable_classes altogether?