Commit 7a1cd526 authored by Michael Paquier's avatar Michael Paquier

doc: Rework tables for built-in operator classes of index AMs

The tables listing all the operator classes available for BRIN, GIN,
GiST and SP-GiST had a confusing format where the same operator could be
listed multiple times, for different data types.  This improves the
shape of these tables by adding the types associated to each operator,
for their associated operator class.

Each table included previously the data type that could be used for an
operator class in an extra column.  This is removed to reduce the width
of the tables as this is now described within each operator.  This also
makes the tables fit better in the PDF documentation.

Reported-by: osdba
Author: Michael Paquier
Reviewed-by: Álvaro Herrera, Tom Lane, Bruce Momjian
Discussion: https://postgr.es/m/38d55061.9604.173b32c60ec.Coremail.mailtch@163.com
parent 42aaed60
This diff is collapsed.
...@@ -75,53 +75,62 @@ ...@@ -75,53 +75,62 @@
<table id="gin-builtin-opclasses-table"> <table id="gin-builtin-opclasses-table">
<title>Built-in <acronym>GIN</acronym> Operator Classes</title> <title>Built-in <acronym>GIN</acronym> Operator Classes</title>
<tgroup cols="3"> <tgroup cols="2">
<thead> <thead>
<row> <row>
<entry>Name</entry> <entry>Name</entry>
<entry>Indexed Data Type</entry>
<entry>Indexable Operators</entry> <entry>Indexable Operators</entry>
</row> </row>
</thead> </thead>
<tbody> <tbody>
<row> <row>
<entry><literal>array_ops</literal></entry> <entry morerows="3" valign="middle"><literal>array_ops</literal></entry>
<entry><type>anyarray</type></entry> <entry><literal>&amp;&amp; (anyarray,anyarray)</literal></entry>
<entry>
<literal>&amp;&amp;</literal>
<literal>&lt;@</literal>
<literal>=</literal>
<literal>@&gt;</literal>
</entry>
</row> </row>
<row> <row>
<entry><literal>jsonb_ops</literal></entry> <entry><literal>@&gt; (anyarray,anyarray)</literal></entry>
<entry><type>jsonb</type></entry>
<entry>
<literal>?</literal>
<literal>?&amp;</literal>
<literal>?|</literal>
<literal>@&gt;</literal>
<literal>@?</literal>
<literal>@@</literal>
</entry>
</row> </row>
<row> <row>
<entry><literal>jsonb_path_ops</literal></entry> <entry><literal>&lt;@ (anyarray,anyarray)</literal></entry>
<entry><type>jsonb</type></entry>
<entry>
<literal>@&gt;</literal>
<literal>@?</literal>
<literal>@@</literal>
</entry>
</row> </row>
<row> <row>
<entry><literal>tsvector_ops</literal></entry> <entry><literal>= (anyarray,anyarray)</literal></entry>
<entry><type>tsvector</type></entry> </row>
<entry> <row>
<literal>@@</literal> <entry morerows="5" valign="middle"><literal>jsonb_ops</literal></entry>
<literal>@@@</literal> <entry><literal>@&gt; (jsonb,jsonb)</literal></entry>
</entry> </row>
<row>
<entry><literal>@? (jsonb,jsonpath)</literal></entry>
</row>
<row>
<entry><literal>@@ (jsonb,jsonpath)</literal></entry>
</row>
<row>
<entry><literal>? (jsonb,text)</literal></entry>
</row>
<row>
<entry><literal>?| (jsonb,text[])</literal></entry>
</row>
<row>
<entry><literal>?&amp; (jsonb,text[])</literal></entry>
</row>
<row>
<entry morerows="2" valign="middle"><literal>jsonb_path_ops</literal></entry>
<entry><literal>@&gt; (jsonb,jsonb)</literal></entry>
</row>
<row>
<entry><literal>@? (jsonb,jsonpath)</literal></entry>
</row>
<row>
<entry><literal>@@ (jsonb,jsonpath)</literal></entry>
</row>
<row>
<entry morerows="1" valign="middle"><literal>tsvector_ops</literal></entry>
<entry><literal>@@ (tsvector,tsquery)</literal></entry>
</row>
<row>
<entry><literal>@@@ (tsvector,tsquery)</literal></entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
......
This diff is collapsed.
...@@ -64,142 +64,116 @@ ...@@ -64,142 +64,116 @@
<table id="spgist-builtin-opclasses-table"> <table id="spgist-builtin-opclasses-table">
<title>Built-in <acronym>SP-GiST</acronym> Operator Classes</title> <title>Built-in <acronym>SP-GiST</acronym> Operator Classes</title>
<tgroup cols="4"> <tgroup cols="3">
<thead> <thead>
<row> <row>
<entry>Name</entry> <entry>Name</entry>
<entry>Indexed Data Type</entry>
<entry>Indexable Operators</entry> <entry>Indexable Operators</entry>
<entry>Ordering Operators</entry> <entry>Ordering Operators</entry>
</row> </row>
</thead> </thead>
<tbody> <tbody>
<row> <row>
<entry><literal>kd_point_ops</literal></entry> <entry valign="middle" morerows="11"><literal>box_ops</literal></entry>
<entry><type>point</type></entry> <entry><literal>&lt;&lt; (box,box)</literal></entry>
<entry> <entry valign="middle" morerows="11"><literal>&lt;-&gt; (box,point)</literal></entry>
<literal>&lt;&lt;</literal>
<literal>&lt;@</literal>
<literal>&lt;^</literal>
<literal>&gt;&gt;</literal>
<literal>&gt;^</literal>
<literal>~=</literal>
</entry>
<entry>
<literal>&lt;-&gt;</literal>
</entry>
</row> </row>
<row><entry><literal>&amp;&lt; (box,box)</literal></entry></row>
<row><entry><literal>&amp;&gt; (box,box)</literal></entry></row>
<row><entry><literal>&gt;&gt; (box,box)</literal></entry></row>
<row><entry><literal>&lt;@ (box,box)</literal></entry></row>
<row><entry><literal>@&gt; (box,box)</literal></entry></row>
<row><entry><literal>~= (box,box)</literal></entry></row>
<row><entry><literal>&amp;&amp; (box,box)</literal></entry></row>
<row><entry><literal>&lt;&lt;| (box,box)</literal></entry></row>
<row><entry><literal>&amp;&lt;| (box,box)</literal></entry></row>
<row><entry><literal>|&amp;&gt; (box,box)</literal></entry></row>
<row><entry><literal>|&gt;&gt; (box,box)</literal></entry></row>
<row> <row>
<entry><literal>quad_point_ops</literal></entry> <entry valign="middle" morerows="5"><literal>kd_point_ops</literal></entry>
<entry><type>point</type></entry> <entry><literal>&gt;^ (point,point)</literal></entry>
<entry> <entry valign="middle" morerows="5"><literal>&lt;-&gt; (point,point)</literal></entry>
<literal>&lt;&lt;</literal>
<literal>&lt;@</literal>
<literal>&lt;^</literal>
<literal>&gt;&gt;</literal>
<literal>&gt;^</literal>
<literal>~=</literal>
</entry>
<entry>
<literal>&lt;-&gt;</literal>
</entry>
</row> </row>
<row><entry><literal>&lt;&lt; (point,point)</literal></entry></row>
<row><entry><literal>&gt;&gt; (point,point)</literal></entry></row>
<row><entry><literal>&lt;^ (point,point)</literal></entry></row>
<row><entry><literal>~= (point,point)</literal></entry></row>
<row><entry><literal>&lt;@ (point,box)</literal></entry></row>
<row> <row>
<entry><literal>range_ops</literal></entry> <entry valign="middle" morerows="10"><literal>network_ops</literal></entry>
<entry>any range type</entry> <entry><literal>&lt;&lt; (inet,inet)</literal></entry>
<entry> <entry valign="middle" morerows="10"></entry>
<literal>&amp;&amp;</literal>
<literal>&amp;&lt;</literal>
<literal>&amp;&gt;</literal>
<literal>-|-</literal>
<literal>&lt;&lt;</literal>
<literal>&lt;@</literal>
<literal>=</literal>
<literal>&gt;&gt;</literal>
<literal>@&gt;</literal>
</entry>
<entry>
</entry>
</row> </row>
<row><entry><literal>&lt;&lt;= (inet,inet)</literal></entry></row>
<row><entry><literal>&gt;&gt; (inet,inet)</literal></entry></row>
<row><entry><literal>&gt;&gt;= (inet,inet)</literal></entry></row>
<row><entry><literal>= (inet,inet)</literal></entry></row>
<row><entry><literal>&lt;&gt; (inet,inet)</literal></entry></row>
<row><entry><literal>&lt; (inet,inet)</literal></entry></row>
<row><entry><literal>&lt;= (inet,inet)</literal></entry></row>
<row><entry><literal>&gt; (inet,inet)</literal></entry></row>
<row><entry><literal>&gt;= (inet,inet)</literal></entry></row>
<row><entry><literal>&amp;&amp; (inet,inet)</literal></entry></row>
<row> <row>
<entry><literal>box_ops</literal></entry> <entry valign="middle" morerows="11"><literal>poly_ops</literal></entry>
<entry><type>box</type></entry> <entry><literal>&lt;&lt; (polygon,polygon)</literal></entry>
<entry> <entry valign="middle" morerows="11"><literal>&lt;-&gt; (polygon,point)</literal></entry>
<literal>&lt;&lt;</literal>
<literal>&amp;&lt;</literal>
<literal>&amp;&amp;</literal>
<literal>&amp;&gt;</literal>
<literal>&gt;&gt;</literal>
<literal>~=</literal>
<literal>@&gt;</literal>
<literal>&lt;@</literal>
<literal>&amp;&lt;|</literal>
<literal>&lt;&lt;|</literal>
<literal>|&gt;&gt;</literal>
<literal>|&amp;&gt;</literal>
</entry>
<entry>
<literal>&lt;-&gt;</literal>
</entry>
</row> </row>
<row><entry><literal>&amp;&lt; (polygon,polygon)</literal></entry></row>
<row><entry><literal>&amp;&gt; (polygon,polygon)</literal></entry></row>
<row><entry><literal>&gt;&gt; (polygon,polygon)</literal></entry></row>
<row><entry><literal>&lt;@ (polygon,polygon)</literal></entry></row>
<row><entry><literal>@&gt; (polygon,polygon)</literal></entry></row>
<row><entry><literal>~= (polygon,polygon)</literal></entry></row>
<row><entry><literal>&amp;&amp; (polygon,polygon)</literal></entry></row>
<row><entry><literal>&lt;&lt;| (polygon,polygon)</literal></entry></row>
<row><entry><literal>&amp;&lt;| (polygon,polygon)</literal></entry></row>
<row><entry><literal>|&gt;&gt; (polygon,polygon)</literal></entry></row>
<row><entry><literal>|&amp;&gt; (polygon,polygon)</literal></entry></row>
<row> <row>
<entry><literal>poly_ops</literal></entry> <entry valign="middle" morerows="5"><literal>quad_point_ops</literal></entry>
<entry><type>polygon</type></entry> <entry><literal>&gt;^ (point,point)</literal></entry>
<entry> <entry valign="middle" morerows="5"><literal>&lt;-&gt; (point,point)</literal></entry>
<literal>&lt;&lt;</literal>
<literal>&amp;&lt;</literal>
<literal>&amp;&amp;</literal>
<literal>&amp;&gt;</literal>
<literal>&gt;&gt;</literal>
<literal>~=</literal>
<literal>@&gt;</literal>
<literal>&lt;@</literal>
<literal>&amp;&lt;|</literal>
<literal>&lt;&lt;|</literal>
<literal>|&gt;&gt;</literal>
<literal>|&amp;&gt;</literal>
</entry>
<entry>
<literal>&lt;-&gt;</literal>
</entry>
</row> </row>
<row><entry><literal>&lt;&lt; (point,point)</literal></entry></row>
<row><entry><literal>&gt;&gt; (point,point)</literal></entry></row>
<row><entry><literal>&lt;^ (point,point)</literal></entry></row>
<row><entry><literal>~= (point,point)</literal></entry></row>
<row><entry><literal>&lt;@ (point,box)</literal></entry></row>
<row> <row>
<entry><literal>text_ops</literal></entry> <entry valign="middle" morerows="9"><literal>range_ops</literal></entry>
<entry><type>text</type></entry> <entry><literal>= (anyrange,anyrange)</literal></entry>
<entry> <entry valign="middle" morerows="9"></entry>
<literal>&lt;</literal>
<literal>&lt;=</literal>
<literal>=</literal>
<literal>&gt;</literal>
<literal>&gt;=</literal>
<literal>~&lt;=~</literal>
<literal>~&lt;~</literal>
<literal>~&gt;=~</literal>
<literal>~&gt;~</literal>
<literal>^@</literal>
</entry>
<entry>
</entry>
</row> </row>
<row><entry><literal>&amp;&amp; (anyrange,anyrange)</literal></entry></row>
<row><entry><literal>@&gt; (anyrange,anyelement)</literal></entry></row>
<row><entry><literal>@&gt; (anyrange,anyrange)</literal></entry></row>
<row><entry><literal>&lt;@ (anyrange,anyrange)</literal></entry></row>
<row><entry><literal>&lt;&lt; (anyrange,anyrange)</literal></entry></row>
<row><entry><literal>&gt;&gt; (anyrange,anyrange)</literal></entry></row>
<row><entry><literal>&amp;&lt; (anyrange,anyrange)</literal></entry></row>
<row><entry><literal>&amp;&gt; (anyrange,anyrange)</literal></entry></row>
<row><entry><literal>-|- (anyrange,anyrange)</literal></entry></row>
<row> <row>
<entry><literal>inet_ops</literal></entry> <entry valign="middle" morerows="9"><literal>text_ops</literal></entry>
<entry><type>inet</type>, <type>cidr</type></entry> <entry><literal>= (text,text)</literal></entry>
<entry> <entry valign="middle" morerows="9"></entry>
<literal>&amp;&amp;</literal>
<literal>&gt;&gt;</literal>
<literal>&gt;&gt;=</literal>
<literal>&gt;</literal>
<literal>&gt;=</literal>
<literal>&lt;&gt;</literal>
<literal>&lt;&lt;</literal>
<literal>&lt;&lt;=</literal>
<literal>&lt;</literal>
<literal>&lt;=</literal>
<literal>=</literal>
</entry>
<entry>
</entry>
</row> </row>
<row><entry><literal>&lt; (text,text)</literal></entry></row>
<row><entry><literal>&lt;= (text,text)</literal></entry></row>
<row><entry><literal>&gt; (text,text)</literal></entry></row>
<row><entry><literal>&gt;= (text,text)</literal></entry></row>
<row><entry><literal>~&lt;~ (text,text)</literal></entry></row>
<row><entry><literal>~&lt;=~ (text,text)</literal></entry></row>
<row><entry><literal>~&gt;=~ (text,text)</literal></entry></row>
<row><entry><literal>~&gt;~ (text,text)</literal></entry></row>
<row><entry><literal>^@ (text,text)</literal></entry></row>
</tbody> </tbody>
</tgroup> </tgroup>
</table> </table>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment