Re: Double sorting split patch
Alexander Korotkov <aekorotkov@gmail.com>
From: Alexander Korotkov <aekorotkov@gmail.com>
To: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-10-05T08:20:59Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix contrib/seg's GiST picksplit method.
- 2a6ebe70fb2f 9.1.0 cited
-
Some copy editing of pg_read_binary_file() patch.
- 290f1603b420 9.1.0 cited
On Wed, Oct 5, 2011 at 11:37 AM, Heikki Linnakangas < heikki.linnakangas@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.linnakangas@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.