Add SP-GiST support for range types. The implementation is a quad-tree, largely copied from the quad-tree implementation for points. The lower and upper bound of ranges are the 2d coordinates, with some extra code to handle empty ranges.
I left out the support for adjacent operator, -|-, from the original patch. Not because there was necessarily anything wrong with it, but it was more complicated than the other operators, and I only have limited time for reviewing. That will follow as a separate patch. Alexander Korotkov, reviewed by Jeff Davis and me. Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/317dd55a9cae160c8d121eaec323a6aea3259fd8 Modified Files -------------- src/backend/utils/adt/Makefile | 2 +- src/backend/utils/adt/rangetypes_gist.c | 13 - src/backend/utils/adt/rangetypes_spgist.c | 748 ++++++++++++++++++++++++++++ src/include/catalog/catversion.h | 2 +- src/include/catalog/pg_amop.h | 13 + 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/rangetypes.h | 13 + src/test/regress/expected/opr_sanity.out | 8 +- src/test/regress/expected/rangetypes.out | 219 ++++++++ src/test/regress/expected/sanity_check.out | 3 +- src/test/regress/output/misc.source | 3 +- src/test/regress/sql/rangetypes.sql | 62 +++ 15 files changed, 1086 insertions(+), 18 deletions(-) -- Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers