On Wed, Aug 26, 2020 at 07:19:09PM -0400, Tom Lane wrote: > With one eye on the PDF width issue, I propose that we not draw > the distinction, but just list all the relevant operators for each > opclass (its native ones, plus the applicable "loose" operators). > Then we only need two columns, opclass and operators.
Indeed, removing the types makes sense if we list them with the operators. I have been looking at your suggestions, and adding a space before the first parenthesis where the types are listed sounds good to me, but I am not sure that it is a good idea to add spaces between each type. Looking at the pdf produced, I think that we should also drop entirely colspec for the BRIN table as it gets much small in width once the data type column is removed. I also looked at rowsep for the PDF, and I tend to prefer the version where we separate each cell for the operator, as a matter of readability. This leads me to the updated version attached. BRIN has 29 different opclasses, visibly. -- Michael
diff --git a/doc/src/sgml/brin.sgml b/doc/src/sgml/brin.sgml index b9d596e3c4..c3298ed92b 100644 --- a/doc/src/sgml/brin.sgml +++ b/doc/src/sgml/brin.sgml @@ -120,354 +120,293 @@ LOG: request for BRIN range summarization for index "brin_wi_idx" page 128 was <table id="brin-builtin-opclasses-table"> <title>Built-in <acronym>BRIN</acronym> Operator Classes</title> - <tgroup cols="3"> - <colspec colname="col1" colwidth="2*"/> - <colspec colname="col2" colwidth="2*"/> - <colspec colname="col3" colwidth="1*"/> + <tgroup cols="2"> <thead> <row> <entry>Name</entry> - <entry>Indexed Data Type</entry> <entry>Indexable Operators</entry> </row> </thead> <tbody> <row> - <entry><literal>int8_minmax_ops</literal></entry> - <entry><type>bigint</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="13"><literal>range_inclusion_ops</literal></entry> + <entry><literal>= (anyrange,anyrange)</literal></entry> </row> + <row><entry><literal>< (anyrange,anyrange)</literal></entry></row> + <row><entry><literal><= (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>>= (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>&& (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>@> (anyrange,anyelement)</literal></entry></row> + <row><entry><literal>@> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal><@ (anyrange,anyrange)</literal></entry></row> + <row><entry><literal><< (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>>> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>&< (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>&> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>-|- (anyrange,anyrange)</literal></entry></row> + <row> - <entry><literal>bit_minmax_ops</literal></entry> - <entry><type>bit</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>bit_minmax_ops</literal></entry> + <entry><literal>= (bit,bit)</literal></entry> </row> + <row><entry><literal>< (bit,bit)</literal></entry></row> + <row><entry><literal>> (bit,bit)</literal></entry></row> + <row><entry><literal><= (bit,bit)</literal></entry></row> + <row><entry><literal>>= (bit,bit)</literal></entry></row> + <row> - <entry><literal>varbit_minmax_ops</literal></entry> - <entry><type>bit varying</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>varbit_minmax_ops</literal></entry> + <entry><literal>= (varbit,varbit)</literal></entry> </row> + <row><entry><literal>< (varbit,varbit)</literal></entry></row> + <row><entry><literal>> (varbit,varbit)</literal></entry></row> + <row><entry><literal><= (varbit,varbit)</literal></entry></row> + <row><entry><literal>>= (varbit,varbit)</literal></entry></row> + <row> - <entry><literal>box_inclusion_ops</literal></entry> - <entry><type>box</type></entry> - <entry> - <literal><<</literal> - <literal>&<</literal> - <literal>&&</literal> - <literal>&></literal> - <literal>>></literal> - <literal>~=</literal> - <literal>@></literal> - <literal><@</literal> - <literal>&<|</literal> - <literal><<|</literal> - <literal>|>></literal> - <literal>|&></literal> - </entry> + <entry morerows="12"><literal>box_inclusion_ops</literal></entry> + <entry><literal>@> (box,point)</literal></entry> </row> + <row><entry><literal><< (box,box)</literal></entry></row> + <row><entry><literal>&< (box,box)</literal></entry></row> + <row><entry><literal>&> (box,box)</literal></entry></row> + <row><entry><literal>>> (box,box)</literal></entry></row> + <row><entry><literal><@ (box,box)</literal></entry></row> + <row><entry><literal>@> (box,box)</literal></entry></row> + <row><entry><literal>~= (box,box)</literal></entry></row> + <row><entry><literal>&& (box,box)</literal></entry></row> + <row><entry><literal><<| (box,box)</literal></entry></row> + <row><entry><literal>&<| (box,box)</literal></entry></row> + <row><entry><literal>|&> (box,box)</literal></entry></row> + <row><entry><literal>|>> (box,box)</literal></entry></row> + <row> - <entry><literal>bytea_minmax_ops</literal></entry> - <entry><type>bytea</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>bpchar_minmax_ops</literal></entry> + <entry><literal>= (character,character)</literal></entry> </row> + <row><entry><literal>< (character,character)</literal></entry></row> + <row><entry><literal><= (character,character)</literal></entry></row> + <row><entry><literal>> (character,character)</literal></entry></row> + <row><entry><literal>>= (character,character)</literal></entry></row> + <row> - <entry><literal>bpchar_minmax_ops</literal></entry> - <entry><type>character</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>bytea_minmax_ops</literal></entry> + <entry><literal>= (bytea,bytea)</literal></entry> </row> + <row><entry><literal>< (bytea,bytea)</literal></entry></row> + <row><entry><literal><= (bytea,bytea)</literal></entry></row> + <row><entry><literal>> (bytea,bytea)</literal></entry></row> + <row><entry><literal>>= (bytea,bytea)</literal></entry></row> + <row> - <entry><literal>char_minmax_ops</literal></entry> - <entry><type>"char"</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>char_minmax_ops</literal></entry> + <entry><literal>= ("char","char")</literal></entry> </row> + <row><entry><literal>< ("char","char")</literal></entry></row> + <row><entry><literal><= ("char","char")</literal></entry></row> + <row><entry><literal>> ("char","char")</literal></entry></row> + <row><entry><literal>>= ("char","char")</literal></entry></row> + <row> - <entry><literal>date_minmax_ops</literal></entry> - <entry><type>date</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>date_minmax_ops</literal></entry> + <entry><literal>= (date,date)</literal></entry> </row> + <row><entry><literal>< (date,date)</literal></entry></row> + <row><entry><literal><= (date,date)</literal></entry></row> + <row><entry><literal>> (date,date)</literal></entry></row> + <row><entry><literal>>= (date,date)</literal></entry></row> + <row> - <entry><literal>float8_minmax_ops</literal></entry> - <entry><type>double precision</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>float4_minmax_ops</literal></entry> + <entry><literal>= (float4,float4)</literal></entry> </row> + <row><entry><literal>< (float4,float4)</literal></entry></row> + <row><entry><literal>> (float4,float4)</literal></entry></row> + <row><entry><literal><= (float4,float4)</literal></entry></row> + <row><entry><literal>>= (float4,float4)</literal></entry></row> + <row> - <entry><literal>inet_minmax_ops</literal></entry> - <entry><type>inet</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>float8_minmax_ops</literal></entry> + <entry><literal>= (float8,float8)</literal></entry> </row> + <row><entry><literal>< (float8,float8)</literal></entry></row> + <row><entry><literal><= (float8,float8)</literal></entry></row> + <row><entry><literal>> (float8,float8)</literal></entry></row> + <row><entry><literal>>= (float8,float8)</literal></entry></row> + <row> - <entry><literal>network_inclusion_ops</literal></entry> - <entry><type>inet</type></entry> - <entry> - <literal>&&</literal> - <literal>>>=</literal> - <literal><<=</literal> - <literal>=</literal> - <literal>>></literal> - <literal><<</literal> - </entry> + <entry morerows="5"><literal>inet_inclusion_ops</literal></entry> + <entry><literal><< (inet,inet)</literal></entry> </row> + <row><entry><literal><<= (inet,inet)</literal></entry></row> + <row><entry><literal>>> (inet,inet)</literal></entry></row> + <row><entry><literal>>>= (inet,inet)</literal></entry></row> + <row><entry><literal>= (inet,inet)</literal></entry></row> + <row><entry><literal>&& (inet,inet)</literal></entry></row> + <row> - <entry><literal>int4_minmax_ops</literal></entry> - <entry><type>integer</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>inet_minmax_ops</literal></entry> + <entry><literal>= (inet,inet)</literal></entry> </row> + <row><entry><literal>< (inet,inet)</literal></entry></row> + <row><entry><literal><= (inet,inet)</literal></entry></row> + <row><entry><literal>> (inet,inet)</literal></entry></row> + <row><entry><literal>>= (inet,inet)</literal></entry></row> + <row> - <entry><literal>interval_minmax_ops</literal></entry> - <entry><type>interval</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>int2_minmax_ops</literal></entry> + <entry><literal>= (int2,int2)</literal></entry> </row> + <row><entry><literal>< (int2,int2)</literal></entry></row> + <row><entry><literal>> (int2,int2)</literal></entry></row> + <row><entry><literal><= (int2,int2)</literal></entry></row> + <row><entry><literal>>= (int2,int2)</literal></entry></row> + <row> - <entry><literal>macaddr_minmax_ops</literal></entry> - <entry><type>macaddr</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>int4_minmax_ops</literal></entry> + <entry><literal>= (int4,int4)</literal></entry> </row> + <row><entry><literal>< (int4,int4)</literal></entry></row> + <row><entry><literal>> (int4,int4)</literal></entry></row> + <row><entry><literal><= (int4,int4)</literal></entry></row> + <row><entry><literal>>= (int4,int4)</literal></entry></row> + <row> - <entry><literal>macaddr8_minmax_ops</literal></entry> - <entry><type>macaddr8</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>int8_minmax_ops</literal></entry> + <entry><literal>= (bigint,bigint)</literal></entry> </row> + <row><entry><literal>< (bigint,bigint)</literal></entry></row> + <row><entry><literal>> (bigint,bigint)</literal></entry></row> + <row><entry><literal><= (bigint,bigint)</literal></entry></row> + <row><entry><literal>>= (bigint,bigint)</literal></entry></row> + <row> - <entry><literal>name_minmax_ops</literal></entry> - <entry><type>name</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>interval_minmax_ops</literal></entry> + <entry><literal>= (interval,interval)</literal></entry> </row> + <row><entry><literal>< (interval,interval)</literal></entry></row> + <row><entry><literal><= (interval,interval)</literal></entry></row> + <row><entry><literal>> (interval,interval)</literal></entry></row> + <row><entry><literal>>= (interval,interval)</literal></entry></row> + <row> - <entry><literal>numeric_minmax_ops</literal></entry> - <entry><type>numeric</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>macaddr_minmax_ops</literal></entry> + <entry><literal>= (macaddr,macaddr)</literal></entry> </row> + <row><entry><literal>< (macaddr,macaddr)</literal></entry></row> + <row><entry><literal><= (macaddr,macaddr)</literal></entry></row> + <row><entry><literal>> (macaddr,macaddr)</literal></entry></row> + <row><entry><literal>>= (macaddr,macaddr)</literal></entry></row> + <row> - <entry><literal>pg_lsn_minmax_ops</literal></entry> - <entry><type>pg_lsn</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>macaddr8_minmax_ops</literal></entry> + <entry><literal>= (macaddr8,macaddr8)</literal></entry> </row> + <row><entry><literal>< (macaddr8,macaddr8)</literal></entry></row> + <row><entry><literal><= (macaddr8,macaddr8)</literal></entry></row> + <row><entry><literal>> (macaddr8,macaddr8)</literal></entry></row> + <row><entry><literal>>= (macaddr8,macaddr8)</literal></entry></row> + <row> - <entry><literal>oid_minmax_ops</literal></entry> - <entry><type>oid</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>name_minmax_ops</literal></entry> + <entry><literal>= (name,name)</literal></entry> </row> + <row><entry><literal>< (name,name)</literal></entry></row> + <row><entry><literal><= (name,name)</literal></entry></row> + <row><entry><literal>> (name,name)</literal></entry></row> + <row><entry><literal>>= (name,name)</literal></entry></row> + <row> - <entry><literal>range_inclusion_ops</literal></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> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>></literal> - <literal>>=</literal> - </entry> + <entry morerows="4"><literal>numeric_minmax_ops</literal></entry> + <entry><literal>= (numeric,numeric)</literal></entry> </row> + <row><entry><literal>< (numeric,numeric)</literal></entry></row> + <row><entry><literal><= (numeric,numeric)</literal></entry></row> + <row><entry><literal>> (numeric,numeric)</literal></entry></row> + <row><entry><literal>>= (numeric,numeric)</literal></entry></row> + <row> - <entry><literal>float4_minmax_ops</literal></entry> - <entry><type>real</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>oid_minmax_ops</literal></entry> + <entry><literal>= (oid,oid)</literal></entry> </row> + <row><entry><literal>< (oid,oid)</literal></entry></row> + <row><entry><literal>> (oid,oid)</literal></entry></row> + <row><entry><literal><= (oid,oid)</literal></entry></row> + <row><entry><literal>>= (oid,oid)</literal></entry></row> + <row> - <entry><literal>int2_minmax_ops</literal></entry> - <entry><type>smallint</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>pg_lsn_minmax_ops</literal></entry> + <entry><literal>= (pg_lsn,pg_lsn)</literal></entry> </row> + <row><entry><literal>< (pg_lsn,pg_lsn)</literal></entry></row> + <row><entry><literal>> (pg_lsn,pg_lsn)</literal></entry></row> + <row><entry><literal><= (pg_lsn,pg_lsn)</literal></entry></row> + <row><entry><literal>>= (pg_lsn,pg_lsn)</literal></entry></row> + <row> - <entry><literal>text_minmax_ops</literal></entry> - <entry><type>text</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>text_minmax_ops</literal></entry> + <entry><literal>= (text,text)</literal></entry> </row> + <row><entry><literal>< (text,text)</literal></entry></row> + <row><entry><literal><= (text,text)</literal></entry></row> + <row><entry><literal>> (text,text)</literal></entry></row> + <row><entry><literal>>= (text,text)</literal></entry></row> + <row> - <entry><literal>tid_minmax_ops</literal></entry> - <entry><type>tid</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>tid_minmax_ops</literal></entry> + <entry><literal>= (tid,tid)</literal></entry> </row> + <row><entry><literal>< (tid,tid)</literal></entry></row> + <row><entry><literal>> (tid,tid)</literal></entry></row> + <row><entry><literal><= (tid,tid)</literal></entry></row> + <row><entry><literal>>= (tid,tid)</literal></entry></row> + <row> - <entry><literal>timestamp_minmax_ops</literal></entry> - <entry><type>timestamp without time zone</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>timestamp_minmax_ops</literal></entry> + <entry><literal>= (timestamp,timestamp)</literal></entry> </row> + <row><entry><literal>< (timestamp,timestamp)</literal></entry></row> + <row><entry><literal><= (timestamp,timestamp)</literal></entry></row> + <row><entry><literal>> (timestamp,timestamp)</literal></entry></row> + <row><entry><literal>>= (timestamp,timestamp)</literal></entry></row> + <row> - <entry><literal>timestamptz_minmax_ops</literal></entry> - <entry><type>timestamp with time zone</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>timestamptz_minmax_ops</literal></entry> + <entry><literal>= (timestamptz,timestamptz)</literal></entry> </row> + <row><entry><literal>< (timestamptz,timestamptz)</literal></entry></row> + <row><entry><literal><= (timestamptz,timestamptz)</literal></entry></row> + <row><entry><literal>> (timestamptz,timestamptz)</literal></entry></row> + <row><entry><literal>>= (timestamptz,timestamptz)</literal></entry></row> + <row> - <entry><literal>time_minmax_ops</literal></entry> - <entry><type>time without time zone</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>time_minmax_ops</literal></entry> + <entry><literal>= (time,time)</literal></entry> </row> + <row><entry><literal>< (time,time)</literal></entry></row> + <row><entry><literal><= (time,time)</literal></entry></row> + <row><entry><literal>> (time,time)</literal></entry></row> + <row><entry><literal>>= (time,time)</literal></entry></row> + <row> - <entry><literal>timetz_minmax_ops</literal></entry> - <entry><type>time with time zone</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>timetz_minmax_ops</literal></entry> + <entry><literal>= (timetz,timetz)</literal></entry> </row> + <row><entry><literal>< (timetz,timetz)</literal></entry></row> + <row><entry><literal><= (timetz,timetz)</literal></entry></row> + <row><entry><literal>> (timetz,timetz)</literal></entry></row> + <row><entry><literal>>= (timetz,timetz)</literal></entry></row> + <row> - <entry><literal>uuid_minmax_ops</literal></entry> - <entry><type>uuid</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>>=</literal> - <literal>></literal> - </entry> + <entry morerows="4"><literal>uuid_minmax_ops</literal></entry> + <entry><literal>= (uuid,uuid)</literal></entry> </row> + <row><entry><literal>< (uuid,uuid)</literal></entry></row> + <row><entry><literal>> (uuid,uuid)</literal></entry></row> + <row><entry><literal><= (uuid,uuid)</literal></entry></row> + <row><entry><literal>>= (uuid,uuid)</literal></entry></row> + </tbody> </tgroup> </table> diff --git a/doc/src/sgml/gin.sgml b/doc/src/sgml/gin.sgml index 2d862669c3..4107a86cb0 100644 --- a/doc/src/sgml/gin.sgml +++ b/doc/src/sgml/gin.sgml @@ -75,53 +75,62 @@ <table id="gin-builtin-opclasses-table"> <title>Built-in <acronym>GIN</acronym> Operator Classes</title> - <tgroup cols="3"> + <tgroup cols="2"> <thead> <row> <entry>Name</entry> - <entry>Indexed Data Type</entry> <entry>Indexable Operators</entry> </row> </thead> <tbody> <row> - <entry><literal>array_ops</literal></entry> - <entry><type>anyarray</type></entry> - <entry> - <literal>&&</literal> - <literal><@</literal> - <literal>=</literal> - <literal>@></literal> - </entry> + <entry morerows="3"><literal>array_ops</literal></entry> + <entry><literal>&& (anyarray,anyarray)</literal></entry> </row> <row> - <entry><literal>jsonb_ops</literal></entry> - <entry><type>jsonb</type></entry> - <entry> - <literal>?</literal> - <literal>?&</literal> - <literal>?|</literal> - <literal>@></literal> - <literal>@?</literal> - <literal>@@</literal> - </entry> + <entry><literal>@> (anyarray,anyarray)</literal></entry> </row> <row> - <entry><literal>jsonb_path_ops</literal></entry> - <entry><type>jsonb</type></entry> - <entry> - <literal>@></literal> - <literal>@?</literal> - <literal>@@</literal> - </entry> + <entry><literal><@ (anyarray,anyarray)</literal></entry> </row> <row> - <entry><literal>tsvector_ops</literal></entry> - <entry><type>tsvector</type></entry> - <entry> - <literal>@@</literal> - <literal>@@@</literal> - </entry> + <entry><literal>= (anyarray,anyarray)</literal></entry> + </row> + <row> + <entry morerows="5"><literal>jsonb_ops</literal></entry> + <entry><literal>@> (jsonb,jsonb)</literal></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>?& (jsonb,text[])</literal></entry> + </row> + <row> + <entry morerows="2"><literal>jsonb_path_ops</literal></entry> + <entry><literal>@> (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"><literal>tsvector_ops</literal></entry> + <entry><literal>@@ (tsvector,tsquery)</literal></entry> + </row> + <row> + <entry><literal>@@@ (tsvector,tsquery)</literal></entry> </row> </tbody> </tgroup> diff --git a/doc/src/sgml/gist.sgml b/doc/src/sgml/gist.sgml index a505815f4e..2ee06585d1 100644 --- a/doc/src/sgml/gist.sgml +++ b/doc/src/sgml/gist.sgml @@ -53,157 +53,126 @@ <table id="gist-builtin-opclasses-table"> <title>Built-in <acronym>GiST</acronym> Operator Classes</title> - <tgroup cols="4"> + <tgroup cols="3"> <thead> <row> <entry>Name</entry> - <entry>Indexed Data Type</entry> <entry>Indexable Operators</entry> <entry>Ordering Operators</entry> </row> </thead> <tbody> <row> - <entry><literal>box_ops</literal></entry> - <entry><type>box</type></entry> - <entry> - <literal>&&</literal> - <literal>&></literal> - <literal>&<</literal> - <literal>&<|</literal> - <literal>>></literal> - <literal><<</literal> - <literal><<|</literal> - <literal><@</literal> - <literal>@></literal> - <literal>@</literal> - <literal>|&></literal> - <literal>|>></literal> - <literal>~</literal> - <literal>~=</literal> - </entry> - <entry> - <literal><-></literal> - </entry> + <entry morerows="13"><literal>box_ops</literal></entry> + <entry><literal><< (box,box)</literal></entry> + <entry morerows="13"><literal><-> (box,point)</literal></entry> </row> + <row><entry><literal>&< (box,box)</literal></entry></row> + <row><entry><literal>&& (box,box)</literal></entry></row> + <row><entry><literal>&> (box,box)</literal></entry></row> + <row><entry><literal>>> (box,box)</literal></entry></row> + <row><entry><literal>~= (box,box)</literal></entry></row> + <row><entry><literal>@> (box,box)</literal></entry></row> + <row><entry><literal><@ (box,box)</literal></entry></row> + <row><entry><literal>&<| (box,box)</literal></entry></row> + <row><entry><literal><<| (box,box)</literal></entry></row> + <row><entry><literal>|>> (box,box)</literal></entry></row> + <row><entry><literal>|&> (box,box)</literal></entry></row> + <row><entry><literal>~ (box,box)</literal></entry></row> + <row><entry><literal>@ (box,box)</literal></entry></row> + <row> - <entry><literal>circle_ops</literal></entry> - <entry><type>circle</type></entry> - <entry> - <literal>&&</literal> - <literal>&></literal> - <literal>&<</literal> - <literal>&<|</literal> - <literal>>></literal> - <literal><<</literal> - <literal><<|</literal> - <literal><@</literal> - <literal>@></literal> - <literal>@</literal> - <literal>|&></literal> - <literal>|>></literal> - <literal>~</literal> - <literal>~=</literal> - </entry> - <entry> - <literal><-></literal> - </entry> + <entry morerows="13"><literal>circle_ops</literal></entry> + <entry><literal><< (circle,circle)</literal></entry> + <entry morerows="13"><literal><-> (circle,point)</literal></entry> </row> + <row><entry><literal>&< (circle,circle)</literal></entry></row> + <row><entry><literal>&> (circle,circle)</literal></entry></row> + <row><entry><literal>>> (circle,circle)</literal></entry></row> + <row><entry><literal><@ (circle,circle)</literal></entry></row> + <row><entry><literal>@> (circle,circle)</literal></entry></row> + <row><entry><literal>~= (circle,circle)</literal></entry></row> + <row><entry><literal>&& (circle,circle)</literal></entry></row> + <row><entry><literal>|>> (circle,circle)</literal></entry></row> + <row><entry><literal><<| (circle,circle)</literal></entry></row> + <row><entry><literal>&<| (circle,circle)</literal></entry></row> + <row><entry><literal>|&> (circle,circle)</literal></entry></row> + <row><entry><literal>@ (circle,circle)</literal></entry></row> + <row><entry><literal>~ (circle,circle)</literal></entry></row> + <row> - <entry><literal>inet_ops</literal></entry> - <entry><type>inet</type>, <type>cidr</type></entry> - <entry> - <literal>&&</literal> - <literal>>></literal> - <literal>>>=</literal> - <literal>></literal> - <literal>>=</literal> - <literal><></literal> - <literal><<</literal> - <literal><<=</literal> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - </entry> - <entry> - </entry> + <entry morerows="10"><literal>inet_ops</literal></entry> + <entry><literal><< (inet,inet)</literal></entry> + <entry morerows="10"></entry> </row> + <row><entry><literal><<= (inet,inet)</literal></entry></row> + <row><entry><literal>>> (inet,inet)</literal></entry></row> + <row><entry><literal>>>= (inet,inet)</literal></entry></row> + <row><entry><literal>= (inet,inet)</literal></entry></row> + <row><entry><literal><> (inet,inet)</literal></entry></row> + <row><entry><literal>< (inet,inet)</literal></entry></row> + <row><entry><literal><= (inet,inet)</literal></entry></row> + <row><entry><literal>> (inet,inet)</literal></entry></row> + <row><entry><literal>>= (inet,inet)</literal></entry></row> + <row><entry><literal>&& (inet,inet)</literal></entry></row> + <row> - <entry><literal>point_ops</literal></entry> - <entry><type>point</type></entry> - <entry> - <literal>>></literal> - <literal>>^</literal> - <literal><<</literal> - <literal><@</literal> - <literal><@</literal> - <literal><@</literal> - <literal><^</literal> - <literal>~=</literal> - </entry> - <entry> - <literal><-></literal> - </entry> + <entry morerows="7"><literal>point_ops</literal></entry> + <entry><literal>>^ (point,point)</literal></entry> + <entry morerows="7"><literal><-> (point,point)</literal></entry> </row> + <row><entry><literal><< (point,point)</literal></entry></row> + <row><entry><literal>>> (point,point)</literal></entry></row> + <row><entry><literal><^ (point,point)</literal></entry></row> + <row><entry><literal>~= (point,point)</literal></entry></row> + <row><entry><literal><@ (point,box)</literal></entry></row> + <row><entry><literal><@ (point,polygon)</literal></entry></row> + <row><entry><literal><@ (point,circle)</literal></entry></row> + <row> - <entry><literal>poly_ops</literal></entry> - <entry><type>polygon</type></entry> - <entry> - <literal>&&</literal> - <literal>&></literal> - <literal>&<</literal> - <literal>&<|</literal> - <literal>>></literal> - <literal><<</literal> - <literal><<|</literal> - <literal><@</literal> - <literal>@></literal> - <literal>@</literal> - <literal>|&></literal> - <literal>|>></literal> - <literal>~</literal> - <literal>~=</literal> - </entry> - <entry> - <literal><-></literal> - </entry> + <entry morerows="13"><literal>poly_ops</literal></entry> + <entry><literal><< (polygon,polygon)</literal></entry> + <entry morerows="13"><literal><-> (polygon,point)</literal></entry> </row> + <row><entry><literal>&< (polygon,polygon)</literal></entry></row> + <row><entry><literal>&> (polygon,polygon)</literal></entry></row> + <row><entry><literal>>> (polygon,polygon)</literal></entry></row> + <row><entry><literal><@ (polygon,polygon)</literal></entry></row> + <row><entry><literal>@> (polygon,polygon)</literal></entry></row> + <row><entry><literal>~= (polygon,polygon)</literal></entry></row> + <row><entry><literal>&& (polygon,polygon)</literal></entry></row> + <row><entry><literal><<| (polygon,polygon)</literal></entry></row> + <row><entry><literal>&<| (polygon,polygon)</literal></entry></row> + <row><entry><literal>|&> (polygon,polygon)</literal></entry></row> + <row><entry><literal>|>> (polygon,polygon)</literal></entry></row> + <row><entry><literal>@ (polygon,polygon)</literal></entry></row> + <row><entry><literal>~ (polygon,polygon)</literal></entry></row> + <row> - <entry><literal>range_ops</literal></entry> - <entry>any range type</entry> - <entry> - <literal>&&</literal> - <literal>&></literal> - <literal>&<</literal> - <literal>>></literal> - <literal><<</literal> - <literal><@</literal> - <literal>-|-</literal> - <literal>=</literal> - <literal>@></literal> - <literal>@></literal> - </entry> - <entry> - </entry> + <entry morerows="9"><literal>range_ops</literal></entry> + <entry><literal>= (anyrange,anyrange)</literal></entry> + <entry morerows="9"></entry> </row> + <row><entry><literal>&& (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>@> (anyrange,anyelement)</literal></entry></row> + <row><entry><literal>@> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal><@ (anyrange,anyrange)</literal></entry></row> + <row><entry><literal><< (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>>> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>&< (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>&> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>-|- (anyrange,anyrange)</literal></entry></row> + <row> - <entry><literal>tsquery_ops</literal></entry> - <entry><type>tsquery</type></entry> - <entry> - <literal><@</literal> - <literal>@></literal> - </entry> - <entry> - </entry> + <entry morerows="1"><literal>tsquery_ops</literal></entry> + <entry><literal><@ (tsquery,tsquery)</literal></entry> + <entry morerows="1"></entry> </row> + <row><entry><literal>@> (tsquery,tsquery)</literal></entry></row> <row> <entry><literal>tsvector_ops</literal></entry> - <entry><type>tsvector</type></entry> - <entry> - <literal>@@</literal> - </entry> - <entry> - </entry> + <entry><literal>@@ (tsvector,tsquery)</literal></entry> + <entry></entry> </row> </tbody> </tgroup> diff --git a/doc/src/sgml/spgist.sgml b/doc/src/sgml/spgist.sgml index b86302e4ef..915aeef1a2 100644 --- a/doc/src/sgml/spgist.sgml +++ b/doc/src/sgml/spgist.sgml @@ -64,142 +64,116 @@ <table id="spgist-builtin-opclasses-table"> <title>Built-in <acronym>SP-GiST</acronym> Operator Classes</title> - <tgroup cols="4"> + <tgroup cols="3"> <thead> <row> <entry>Name</entry> - <entry>Indexed Data Type</entry> <entry>Indexable Operators</entry> <entry>Ordering Operators</entry> </row> </thead> <tbody> <row> - <entry><literal>kd_point_ops</literal></entry> - <entry><type>point</type></entry> - <entry> - <literal><<</literal> - <literal><@</literal> - <literal><^</literal> - <literal>>></literal> - <literal>>^</literal> - <literal>~=</literal> - </entry> - <entry> - <literal><-></literal> - </entry> + <entry morerows="11"><literal>box_ops</literal></entry> + <entry><literal><< (box,box)</literal></entry> + <entry morerows="11"><literal><-> (box,point)</literal></entry> </row> + <row><entry><literal>&< (box,box)</literal></entry></row> + <row><entry><literal>&> (box,box)</literal></entry></row> + <row><entry><literal>>> (box,box)</literal></entry></row> + <row><entry><literal><@ (box,box)</literal></entry></row> + <row><entry><literal>@> (box,box)</literal></entry></row> + <row><entry><literal>~= (box,box)</literal></entry></row> + <row><entry><literal>&& (box,box)</literal></entry></row> + <row><entry><literal><<| (box,box)</literal></entry></row> + <row><entry><literal>&<| (box,box)</literal></entry></row> + <row><entry><literal>|&> (box,box)</literal></entry></row> + <row><entry><literal>|>> (box,box)</literal></entry></row> + <row> - <entry><literal>quad_point_ops</literal></entry> - <entry><type>point</type></entry> - <entry> - <literal><<</literal> - <literal><@</literal> - <literal><^</literal> - <literal>>></literal> - <literal>>^</literal> - <literal>~=</literal> - </entry> - <entry> - <literal><-></literal> - </entry> + <entry morerows="5"><literal>kd_point_ops</literal></entry> + <entry><literal>>^ (point,point)</literal></entry> + <entry morerows="5"><literal><-> (point,point)</literal></entry> </row> + <row><entry><literal><< (point,point)</literal></entry></row> + <row><entry><literal>>> (point,point)</literal></entry></row> + <row><entry><literal><^ (point,point)</literal></entry></row> + <row><entry><literal>~= (point,point)</literal></entry></row> + <row><entry><literal><@ (point,box)</literal></entry></row> + <row> - <entry><literal>range_ops</literal></entry> - <entry>any range type</entry> - <entry> - <literal>&&</literal> - <literal>&<</literal> - <literal>&></literal> - <literal>-|-</literal> - <literal><<</literal> - <literal><@</literal> - <literal>=</literal> - <literal>>></literal> - <literal>@></literal> - </entry> - <entry> - </entry> + <entry morerows="10"><literal>network_ops</literal></entry> + <entry><literal><< (inet,inet)</literal></entry> + <entry morerows="10"></entry> </row> + <row><entry><literal><<= (inet,inet)</literal></entry></row> + <row><entry><literal>>> (inet,inet)</literal></entry></row> + <row><entry><literal>>>= (inet,inet)</literal></entry></row> + <row><entry><literal>= (inet,inet)</literal></entry></row> + <row><entry><literal><> (inet,inet)</literal></entry></row> + <row><entry><literal>< (inet,inet)</literal></entry></row> + <row><entry><literal><= (inet,inet)</literal></entry></row> + <row><entry><literal>> (inet,inet)</literal></entry></row> + <row><entry><literal>>= (inet,inet)</literal></entry></row> + <row><entry><literal>&& (inet,inet)</literal></entry></row> + <row> - <entry><literal>box_ops</literal></entry> - <entry><type>box</type></entry> - <entry> - <literal><<</literal> - <literal>&<</literal> - <literal>&&</literal> - <literal>&></literal> - <literal>>></literal> - <literal>~=</literal> - <literal>@></literal> - <literal><@</literal> - <literal>&<|</literal> - <literal><<|</literal> - <literal>|>></literal> - <literal>|&></literal> - </entry> - <entry> - <literal><-></literal> - </entry> + <entry morerows="11"><literal>poly_ops</literal></entry> + <entry><literal><< (polygon,polygon)</literal></entry> + <entry morerows="11"><literal><-> (polygon,point)</literal></entry> </row> + <row><entry><literal>&< (polygon,polygon)</literal></entry></row> + <row><entry><literal>&> (polygon,polygon)</literal></entry></row> + <row><entry><literal>>> (polygon,polygon)</literal></entry></row> + <row><entry><literal><@ (polygon,polygon)</literal></entry></row> + <row><entry><literal>@> (polygon,polygon)</literal></entry></row> + <row><entry><literal>~= (polygon,polygon)</literal></entry></row> + <row><entry><literal>&& (polygon,polygon)</literal></entry></row> + <row><entry><literal><<| (polygon,polygon)</literal></entry></row> + <row><entry><literal>&<| (polygon,polygon)</literal></entry></row> + <row><entry><literal>|>> (polygon,polygon)</literal></entry></row> + <row><entry><literal>|&> (polygon,polygon)</literal></entry></row> + <row> - <entry><literal>poly_ops</literal></entry> - <entry><type>polygon</type></entry> - <entry> - <literal><<</literal> - <literal>&<</literal> - <literal>&&</literal> - <literal>&></literal> - <literal>>></literal> - <literal>~=</literal> - <literal>@></literal> - <literal><@</literal> - <literal>&<|</literal> - <literal><<|</literal> - <literal>|>></literal> - <literal>|&></literal> - </entry> - <entry> - <literal><-></literal> - </entry> + <entry morerows="5"><literal>quad_point_ops</literal></entry> + <entry><literal>>^ (point,point)</literal></entry> + <entry morerows="5"><literal><-> (point,point)</literal></entry> </row> + <row><entry><literal><< (point,point)</literal></entry></row> + <row><entry><literal>>> (point,point)</literal></entry></row> + <row><entry><literal><^ (point,point)</literal></entry></row> + <row><entry><literal>~= (point,point)</literal></entry></row> + <row><entry><literal><@ (point,box)</literal></entry></row> + <row> - <entry><literal>text_ops</literal></entry> - <entry><type>text</type></entry> - <entry> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - <literal>></literal> - <literal>>=</literal> - <literal>~<=~</literal> - <literal>~<~</literal> - <literal>~>=~</literal> - <literal>~>~</literal> - <literal>^@</literal> - </entry> - <entry> - </entry> + <entry morerows="9"><literal>range_ops</literal></entry> + <entry><literal>= (anyrange,anyrange)</literal></entry> + <entry morerows="9"></entry> </row> + <row><entry><literal>&& (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>@> (anyrange,anyelement)</literal></entry></row> + <row><entry><literal>@> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal><@ (anyrange,anyrange)</literal></entry></row> + <row><entry><literal><< (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>>> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>&< (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>&> (anyrange,anyrange)</literal></entry></row> + <row><entry><literal>-|- (anyrange,anyrange)</literal></entry></row> + <row> - <entry><literal>inet_ops</literal></entry> - <entry><type>inet</type>, <type>cidr</type></entry> - <entry> - <literal>&&</literal> - <literal>>></literal> - <literal>>>=</literal> - <literal>></literal> - <literal>>=</literal> - <literal><></literal> - <literal><<</literal> - <literal><<=</literal> - <literal><</literal> - <literal><=</literal> - <literal>=</literal> - </entry> - <entry> - </entry> + <entry morerows="9"><literal>text_ops</literal></entry> + <entry><literal>= (text,text)</literal></entry> + <entry morerows="9"></entry> </row> + <row><entry><literal>< (text,text)</literal></entry></row> + <row><entry><literal><= (text,text)</literal></entry></row> + <row><entry><literal>> (text,text)</literal></entry></row> + <row><entry><literal>>= (text,text)</literal></entry></row> + <row><entry><literal>~<~ (text,text)</literal></entry></row> + <row><entry><literal>~<=~ (text,text)</literal></entry></row> + <row><entry><literal>~>=~ (text,text)</literal></entry></row> + <row><entry><literal>~>~ (text,text)</literal></entry></row> + <row><entry><literal>^@ (text,text)</literal></entry></row> </tbody> </tgroup> </table>
signature.asc
Description: PGP signature