On Wed, Oct 5, 2011 at 11:37 AM, Heikki Linnakangas < heikki.linnakan...@enterprisedb.com> wrote:
> On 04.10.2011 15:10, Alexander Korotkov wrote: > >> On Tue, Oct 4, 2011 at 1:46 PM, Heikki Linnakangas< >> heikki.linnakangas@**enterprisedb.com<heikki.linnakan...@enterprisedb.com>> >> wrote: >> >> Ok. Could you phrase that as a code comment? >>> >>> Here's a version of the patch I've been working on. There's no functional >>> changes, just a lot of moving things around, comment changes, etc. to >>> hopefully make it more readable. >>> >> >> Thanks for your work on this patch. Patch with comment is attached. >> > > Thanks, I incorporated that, and did a lot of other comment changes. I > included the example you gave earlier on how the first phase of the > algorithm works, in a comment. Please review, and if you have some test > cases at hand, run them. I think this is ready for commit now. > Comments looks good, thanks. I'm going to try also some datasets from rtreeportal.org <http://www.rtreeportal.org/> > One more thing: > >> /* Allocate vectors for results */ >> nbytes = (maxoff + 2) * sizeof(OffsetNumber); >> v->spl_left = (OffsetNumber *) palloc(nbytes); >> v->spl_right = (OffsetNumber *) palloc(nbytes); >> > > Why "maxoff + 2" ? Allocating a few extra bytes is obviously harmless, but > I wonder if it was just a leftover from something. It was nested from old code. This extra bytes are useless in modern versions of PostgreSQL as we found while seg picksplit patch discussion. Modern version of seg picksplit doesn't contain them: http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=2a6ebe70fb2f7ec97a08dc07214fe2ca571d2780;hp=290f1603b4208ca6a13776f744b586a958e98d74 ------ With best regards, Alexander Korotkov.