diff options
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/gist.sgml | 35 | ||||
-rw-r--r-- | doc/src/sgml/rangetypes.sgml | 21 |
2 files changed, 51 insertions, 5 deletions
diff --git a/doc/src/sgml/gist.sgml b/doc/src/sgml/gist.sgml index d1b6cc9a01a..dc1f192bddf 100644 --- a/doc/src/sgml/gist.sgml +++ b/doc/src/sgml/gist.sgml @@ -117,6 +117,29 @@ <row><entry><literal>&& (inet,inet)</literal></entry></row> <row> + <entry valign="middle" morerows="17"><literal>multirange_ops</literal></entry> + <entry><literal>= (anymultirange,anymultirange)</literal></entry> + <entry valign="middle" morerows="17"></entry> + </row> + <row><entry><literal>&& (anymultirange,anymultirange)</literal></entry></row> + <row><entry><literal>&& (anymultirange,anyrange)</literal></entry></row> + <row><entry><literal>@> (anymultirange,anyelement)</literal></entry></row> + <row><entry><literal>@> (anymultirange,anymultirange)</literal></entry></row> + <row><entry><literal>@> (anymultirange,anyrange)</literal></entry></row> + <row><entry><literal><@ (anymultirange,anymultirange)</literal></entry></row> + <row><entry><literal><@ (anymultirange,anyrange)</literal></entry></row> + <row><entry><literal><< (anymultirange,anymultirange)</literal></entry></row> + <row><entry><literal><< (anymultirange,anyrange)</literal></entry></row> + <row><entry><literal>>> (anymultirange,anymultirange)</literal></entry></row> + <row><entry><literal>>> (anymultirange,anyrange)</literal></entry></row> + <row><entry><literal>&< (anymultirange,anymultirange)</literal></entry></row> + <row><entry><literal>&< (anymultirange,anyrange)</literal></entry></row> + <row><entry><literal>&> (anymultirange,anymultirange)</literal></entry></row> + <row><entry><literal>&> (anymultirange,anyrange)</literal></entry></row> + <row><entry><literal>-|- (anymultirange,anymultirange)</literal></entry></row> + <row><entry><literal>-|- (anymultirange,anyrange)</literal></entry></row> + + <row> <entry valign="middle" morerows="7"><literal>point_ops</literal></entry> <entry><literal>|>> (point,point)</literal></entry> <entry valign="middle" morerows="7"><literal><-> (point,point)</literal></entry> @@ -149,19 +172,27 @@ <row><entry><literal>~ (polygon,polygon)</literal></entry></row> <row> - <entry valign="middle" morerows="9"><literal>range_ops</literal></entry> + <entry valign="middle" morerows="17"><literal>range_ops</literal></entry> <entry><literal>= (anyrange,anyrange)</literal></entry> - <entry valign="middle" morerows="9"></entry> + <entry valign="middle" morerows="17"></entry> </row> <row><entry><literal>&& (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>&& (anyrange,anymultirange)</literal></entry></row> <row><entry><literal>@> (anyrange,anyelement)</literal></entry></row> <row><entry><literal>@> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>@> (anyrange,anymultirange)</literal></entry></row> <row><entry><literal><@ (anyrange,anyrange)</literal></entry></row> + <row><entry><literal><@ (anyrange,anymultirange)</literal></entry></row> <row><entry><literal><< (anyrange,anyrange)</literal></entry></row> + <row><entry><literal><< (anyrange,anymultirange)</literal></entry></row> <row><entry><literal>>> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>>> (anyrange,anymultirange)</literal></entry></row> <row><entry><literal>&< (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>&< (anyrange,anymultirange)</literal></entry></row> <row><entry><literal>&> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>&> (anyrange,anymultirange)</literal></entry></row> <row><entry><literal>-|- (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>-|- (anyrange,anymultirange)</literal></entry></row> <row> <entry valign="middle" morerows="1"><literal>tsquery_ops</literal></entry> diff --git a/doc/src/sgml/rangetypes.sgml b/doc/src/sgml/rangetypes.sgml index 859079c69ca..91e353d4fdb 100644 --- a/doc/src/sgml/rangetypes.sgml +++ b/doc/src/sgml/rangetypes.sgml @@ -469,11 +469,13 @@ SELECT '[11:10, 23:00]'::timerange; <para> GiST and SP-GiST indexes can be created for table columns of range types. + GiST indexes can be also created for table columns of multirange types. For instance, to create a GiST index: <programlisting> CREATE INDEX reservation_idx ON reservation USING GIST (during); </programlisting> - A GiST or SP-GiST index can accelerate queries involving these range operators: + A GiST or SP-GiST index on ranges can accelerate queries involving these + range operators: <literal>=</literal>, <literal>&&</literal>, <literal><@</literal>, @@ -482,8 +484,21 @@ CREATE INDEX reservation_idx ON reservation USING GIST (during); <literal>>></literal>, <literal>-|-</literal>, <literal>&<</literal>, and - <literal>&></literal> - (see <xref linkend="range-operators-table"/> for more information). + <literal>&></literal>. + A GiST index on multiranges can accelerate queries involving the same + set of multirange operators. + A GiST index on ranges and GiST index on multiranges can also accelerate + queries involving these cross-type range to multirange and multirange to + range operators correspondingly: + <literal>&&</literal>, + <literal><@</literal>, + <literal>@></literal>, + <literal><<</literal>, + <literal>>></literal>, + <literal>-|-</literal>, + <literal>&<</literal>, and + <literal>&></literal>. + See <xref linkend="range-operators-table"/> for more information. </para> <para> |