Re: [CFReview] Red-Black Tree - Mailing list pgsql-hackers

From Teodor Sigaev
Subject Re: [CFReview] Red-Black Tree
Date
Msg-id 4B72FD90.10404@sigaev.ru
Whole thread Raw
In response to Re: [CFReview] Red-Black Tree  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: [CFReview] Red-Black Tree
Re: [CFReview] Red-Black Tree
List pgsql-hackers
> So suppose at this point that step is the largest integer that can be
> represented...
>> !       step ++;
> Boom.
>> !       step>>= 1;
step>>= 1;
step ++'

Unboom?


>> !
>> !       while(step>  0) {
>> !               int i;
>>
>> !               for (i = step-1; i<  nentry; i += 2 * step)
>
> And similarly here... if nentry is greater than maxint/2, then i += 2
> * step will overflow, no?

Agree, so
for (i = step - 1; i < nentry && i >= 0; i += step << 1 /* *2 */)


Also, rb_free is removed per Tom's comment. Can I commit  the patch?
--
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
                                                    WWW: http://www.sigaev.ru/

Attachment

pgsql-hackers by date:

Previous
From: Leonardo F
Date:
Subject: Re: I: About "Our CLUSTER implementation is pessimal" patch
Next
From: Alvaro Herrera
Date:
Subject: Re: [CFReview] Red-Black Tree