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
Showing
- doc/src/sgml/spgist.sgml 18 additions, 0 deletionsdoc/src/sgml/spgist.sgml
- src/backend/utils/adt/Makefile 2 additions, 2 deletionssrc/backend/utils/adt/Makefile
- src/backend/utils/adt/geo_spgist.c 699 additions, 0 deletionssrc/backend/utils/adt/geo_spgist.c
- src/include/catalog/pg_amop.h 16 additions, 0 deletionssrc/include/catalog/pg_amop.h
- src/include/catalog/pg_amproc.h 5 additions, 0 deletionssrc/include/catalog/pg_amproc.h
- src/include/catalog/pg_opclass.h 1 addition, 0 deletionssrc/include/catalog/pg_opclass.h
- src/include/catalog/pg_opfamily.h 1 addition, 0 deletionssrc/include/catalog/pg_opfamily.h
- src/include/catalog/pg_proc.h 11 additions, 0 deletionssrc/include/catalog/pg_proc.h
- src/include/utils/geo_decls.h 6 additions, 0 deletionssrc/include/utils/geo_decls.h
- src/test/regress/expected/box.out 240 additions, 0 deletionssrc/test/regress/expected/box.out
- src/test/regress/expected/opr_sanity.out 5 additions, 1 deletionsrc/test/regress/expected/opr_sanity.out
- src/test/regress/sql/box.sql 62 additions, 0 deletionssrc/test/regress/sql/box.sql
Loading
Please register or sign in to comment