pgsql: Add BRIN infrastructure for "inclusion" opclasses
От | Alvaro Herrera |
---|---|
Тема | pgsql: Add BRIN infrastructure for "inclusion" opclasses |
Дата | |
Msg-id | E1YtMnF-0007LT-Lt@gemulon.postgresql.org обсуждение исходный текст |
Ответы |
Re: pgsql: Add BRIN infrastructure for "inclusion" opclasses
|
Список | pgsql-committers |
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 Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/b0b7be61337fc64147f2ad0af5bf2c0e6b8a709f Modified Files -------------- doc/src/sgml/brin.sgml | 53 ++- src/backend/access/brin/Makefile | 2 +- src/backend/access/brin/brin.c | 90 +--- src/backend/access/brin/brin_inclusion.c | 696 ++++++++++++++++++++++++++++++ src/backend/access/brin/brin_minmax.c | 7 + src/backend/utils/adt/network_gist.c | 4 +- src/include/access/brin_internal.h | 6 - src/include/access/stratnum.h | 4 +- src/include/catalog/catversion.h | 2 +- src/include/catalog/pg_am.h | 3 +- src/include/catalog/pg_amop.h | 37 ++ src/include/catalog/pg_amproc.h | 23 + src/include/catalog/pg_opclass.h | 6 +- src/include/catalog/pg_opfamily.h | 3 + src/include/catalog/pg_proc.h | 10 + src/test/regress/expected/brin.out | 31 +- src/test/regress/expected/opr_sanity.out | 25 +- src/test/regress/sql/brin.sql | 31 +- 18 files changed, 928 insertions(+), 105 deletions(-)
В списке pgsql-committers по дате отправления: