From acdf2a8b372aec1da09370fca77ff7dccac7646d Mon Sep 17 00:00:00 2001 From: Teodor Sigaev Date: Wed, 30 Mar 2016 18:42:36 +0300 Subject: 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 --- src/include/utils/geo_decls.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/include/utils') diff --git a/src/include/utils/geo_decls.h b/src/include/utils/geo_decls.h index 9d8d660d15..acf320207c 100644 --- a/src/include/utils/geo_decls.h +++ b/src/include/utils/geo_decls.h @@ -426,6 +426,12 @@ extern Datum gist_point_consistent(PG_FUNCTION_ARGS); extern Datum gist_point_distance(PG_FUNCTION_ARGS); extern Datum gist_point_fetch(PG_FUNCTION_ARGS); +/* utils/adt/geo_spgist.c */ +Datum spg_box_quad_config(PG_FUNCTION_ARGS); +Datum spg_box_quad_choose(PG_FUNCTION_ARGS); +Datum spg_box_quad_picksplit(PG_FUNCTION_ARGS); +Datum spg_box_quad_inner_consistent(PG_FUNCTION_ARGS); +Datum spg_box_quad_leaf_consistent(PG_FUNCTION_ARGS); /* geo_selfuncs.c */ extern Datum areasel(PG_FUNCTION_ARGS); -- cgit v1.2.3