]> granicus.if.org Git - postgresql/commit
Add BRIN infrastructure for "inclusion" opclasses
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 15 May 2015 21:05:22 +0000 (18:05 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 15 May 2015 21:05:22 +0000 (18:05 -0300)
commitb0b7be61337fc64147f2ad0af5bf2c0e6b8a709f
treeb6eb7ebc5c73bb82023bdc5cc42aa1326472e719
parent199f5973c50fe94e128508ff2218c42126fd0ee1
Add BRIN infrastructure for "inclusion" opclasses

This lets BRIN be used with R-Tree-like indexing strategies.

Also provided are operator classes for range types, box and inet/cidr.
The infrastructure provided here should be sufficient to create operator
classes for similar datatypes; for instance, opclasses for PostGIS
geometries should be doable, though we didn't try to implement one.

(A box/point opclass was also submitted, but we ripped it out before
commit because the handling of floating point comparisons in existing
code is inconsistent and would generate corrupt indexes.)

Author: Emre Hasegeli.  Cosmetic changes by me
Review: Andreas Karlsson
18 files changed:
doc/src/sgml/brin.sgml
src/backend/access/brin/Makefile
src/backend/access/brin/brin.c
src/backend/access/brin/brin_inclusion.c [new file with mode: 0644]
src/backend/access/brin/brin_minmax.c
src/backend/utils/adt/network_gist.c
src/include/access/brin_internal.h
src/include/access/stratnum.h
src/include/catalog/catversion.h
src/include/catalog/pg_am.h
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/test/regress/expected/brin.out
src/test/regress/expected/opr_sanity.out
src/test/regress/sql/brin.sql