diff options
| author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2015-05-15 18:05:22 -0300 |
|---|---|---|
| committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2015-05-15 18:05:22 -0300 |
| commit | b0b7be61337fc64147f2ad0af5bf2c0e6b8a709f (patch) | |
| tree | b6eb7ebc5c73bb82023bdc5cc42aa1326472e719 /doc/src | |
| parent | 199f5973c50fe94e128508ff2218c42126fd0ee1 (diff) | |
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
Diffstat (limited to 'doc/src')
| -rw-r--r-- | doc/src/sgml/brin.sgml | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/doc/src/sgml/brin.sgml b/doc/src/sgml/brin.sgml index 92dac7c60b5..4d8fd20c1c4 100644 --- a/doc/src/sgml/brin.sgml +++ b/doc/src/sgml/brin.sgml @@ -72,7 +72,9 @@ <para> The <firstterm>minmax</> operator classes store the minimum and the maximum values appearing - in the indexed column within the range. + in the indexed column within the range. The <firstterm>inclusion</> + operator classes store a value which includes the values in the indexed + column within the range. </para> <table id="brin-builtin-opclasses-table"> @@ -252,6 +254,18 @@ </entry> </row> <row> + <entry><literal>inet_inclusion_ops</literal></entry> + <entry><type>inet</type></entry> + <entry> + <literal>&&</> + <literal>>></> + <literal>>>=</> + <literal><<</literal> + <literal><<=</literal> + <literal>=</literal> + </entry> + </row> + <row> <entry><literal>bpchar_minmax_ops</literal></entry> <entry><type>character</type></entry> <entry> @@ -373,6 +387,25 @@ </entry> </row> <row> + <entry><literal>range_inclusion_ops</></entry> + <entry><type>any range type</type></entry> + <entry> + <literal>&&</> + <literal>&></> + <literal>&<</> + <literal>>></> + <literal><<</> + <literal><@</> + <literal>=</> + <literal>@></> + <literal><</literal> + <literal><=</literal> + <literal>=</literal> + <literal>>=</literal> + <literal>></literal> + </entry> + </row> + <row> <entry><literal>pg_lsn_minmax_ops</literal></entry> <entry><type>pg_lsn</type></entry> <entry> @@ -383,6 +416,24 @@ <literal>></literal> </entry> </row> + <row> + <entry><literal>box_inclusion_ops</></entry> + <entry><type>box</type></entry> + <entry> + <literal>&&</> + <literal>&></> + <literal>&<</> + <literal>>></> + <literal><<</> + <literal><@</> + <literal>~=</> + <literal>@></> + <literal>&>|</> + <literal>|&<</> + <literal>>>|</> + <literal>|<<</literal> + </entry> + </row> </tbody> </tgroup> </table> |
