]> granicus.if.org Git - postgresql/commit
Introduce SP-GiST operator class over box.
authorTeodor Sigaev <teodor@sigaev.ru>
Wed, 30 Mar 2016 15:42:36 +0000 (18:42 +0300)
committerTeodor Sigaev <teodor@sigaev.ru>
Wed, 30 Mar 2016 15:42:36 +0000 (18:42 +0300)
commitacdf2a8b372aec1da09370fca77ff7dccac7646d
treebbba6257f0428d6a1e7d36e9919429274a75e70a
parent87545f541278ffde4fa1ccf396affbc4e9d59a23
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
12 files changed:
doc/src/sgml/spgist.sgml
src/backend/utils/adt/Makefile
src/backend/utils/adt/geo_spgist.c [new file with mode: 0644]
src/include/catalog/pg_amop.h
src/include/catalog/pg_amproc.h
src/include/catalog/pg_opclass.h
src/include/catalog/pg_opfamily.h
src/include/catalog/pg_proc.h
src/include/utils/geo_decls.h
src/test/regress/expected/box.out
src/test/regress/expected/opr_sanity.out
src/test/regress/sql/box.sql