pgsql: Introduce SP-GiST operator class over box.

From: Teodor Sigaev <teodor(at)sigaev(dot)ru>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Introduce SP-GiST operator class over box.
Date: 2016-03-30 15:48:36
Message-ID: E1alIMG-0001Ut-O6@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Introduce SP-GiST operator class over box.

Patch implements quad-tree over boxes, naive approach of 2D quad tree will not
work for any non-point objects because splitting space on node is not
efficient. The idea of pathc is treating 2D boxes as 4D points, so,
object will not overlap (in 4D space).

The performance tests reveal that this technique especially beneficial
with too much overlapping objects, so called "spaghetti data".

Author: Alexander Lebedev with editorization by Emre Hasegeli and me

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/acdf2a8b372aec1da09370fca77ff7dccac7646d

Modified Files
--------------
doc/src/sgml/spgist.sgml | 18 +
src/backend/utils/adt/Makefile | 4 +-
src/backend/utils/adt/geo_spgist.c | 699 +++++++++++++++++++++++++++++++
src/include/catalog/pg_amop.h | 16 +
src/include/catalog/pg_amproc.h | 5 +
src/include/catalog/pg_opclass.h | 1 +
src/include/catalog/pg_opfamily.h | 1 +
src/include/catalog/pg_proc.h | 11 +
src/include/utils/geo_decls.h | 6 +
src/test/regress/expected/box.out | 240 +++++++++++
src/test/regress/expected/opr_sanity.out | 6 +-
src/test/regress/sql/box.sql | 62 +++
12 files changed, 1066 insertions(+), 3 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Teodor Sigaev 2016-03-30 15:56:50 pgsql: Bump catalog version, forget in acdf2a8b372aec1da09370fca77ff7dc
Previous Message Teodor Sigaev 2016-03-30 15:39:58 pgsql: Use traversalValue in SP-GiST range opclass.

Browse pgsql-hackers by date

  From Date Subject
Next Message Kevin Grittner 2016-03-30 15:49:24 Re: PATCH: index-only scans with partial indexes
Previous Message Petr Jelinek 2016-03-30 15:32:37 Re: Sequence Access Method WIP