Re: SP-GiST for ranges based on 2d-mapping and quad-tree
Alexander Korotkov <aekorotkov@gmail.com>
From: Alexander Korotkov <aekorotkov@gmail.com>
To: Jeff Davis <pgsql@j-davis.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2012-07-11T23:03:34Z
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 →
-
Teach SP-GiST to do index-only scans.
- 922036249340 9.2.0 cited
Attachments
- range_spgist_quad-0.3.patch (application/octet-stream) patch
On Tue, Jul 3, 2012 at 10:51 AM, Jeff Davis <pgsql@j-davis.com> wrote: > Also, it would be helpful to add a couple tests to rangetypes.sql. > New version of patch is attached. 1) Idea of having different node numbers is that nodes takes some space (check spgFormInnerTuple). I've rethink this idea a little because adding of node without label just didn't work :). Only root inner index tuple have 5 nodes, others have 4. Thereby all empty ranges are branched already at root inner index tuple. 2) Empty prefix datum replaced with absence of prefix datum. 3) int2 replaced with int16. 4) I've added some tests which duplicates tests for GiST. 5) "connected" replaced with "adjacent" 6) allTheSame nodes is node created by SP-GiST core when it decide than result of picksplit method is not good enough. It divides tuples arbitrarily. So we have to visit all the nodes in this case during scan. See: http://www.postgresql.org/docs/devel/static/spgist-implementation.html#SPGIST-ALL-THE-SAME . Currently in-core SP-GiST opclasses behaves similarly. I didn't decide how to rethink terms in comments yet :( ------ With best regards, Alexander Korotkov.