pg.ddx.io pgsql-docs@postgresql.org mailing list archive
help / color / mirror / Atom feed From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Bruce Momjian <bruce@momjian.us>
Cc: osdba <mailtch@163.com>
Cc: pgsql-docs@postgresql.org
Subject: Re: Document "59.2. Built-in Operator Classes" have a clerical error?
Date: Wed, 26 Aug 2020 15:56:18 +0900
Message-ID: <20200826065618.GG2017@paquier.xyz> (raw )
In-Reply-To: <2770080.1598393848@sss.pgh.pa.us >
References: <20200825221028.GA24594@alvherre.pgsql >
<2770080.1598393848@sss.pgh.pa.us >
On Tue, Aug 25, 2020 at 06:17:28PM -0400, Tom Lane wrote:
> Alvaro Herrera <alvherre@2ndquadrant.com> writes:
>> (With the non-website stylesheet, as in the screenshot you showed, the
>> table looks somewhat crammed and visually unappealing; but the website
>> stylesheet looks pleasing enough. Screenshot attached.)
Right, STYLE=website.
> I wonder if it would look better if we suppress the horizontal rules
> between the operator names within a cell. IIRC, it's possible to do
> that, though the exact incantation isn't coming to mind right now.
I would imagine that rowsep=0 for a given <entry> can do that:
https://tdg.docbook.org/tdg/4.5/entry.html
However, it does not make a difference if I use the default style or
the website style. I may be missing something with the stylesheet
though?
>> I suppose a commit would change all the index AMs where we document this
>> kind of thing.
>
> Yeah, we should make all these sorts of tables consistent.
Of course, just wanted to make sure that we agree on the layer before
spending more time on that as shaping all the tables correctly is a
lot of work. And GIN is the smallest one.
One thing to note about the BRIN table is that we have never
documented from the start any of the operators working across multiple
types. For example, we only have 5 operators listed for each one of
int2/int4/int8, timestamptz/timestamp or real/float, but these are
listed with incorrect names and they miss a bunch of other operators
able to handle combinations of (int2,int4), etc. So I have fixed the
table so as all the operators are listed, grouping together ints,
timestamps and reals, as \dAo says. Now there could be also an
argument to stick with simplicity and list only the operators of one
single type, reducing the size of the table for BRIN. But that would
be incorrect with the catalogs, and the attached classifies all
operators in alphabetical order. (Switching to the original list is
not complicated as that would be just removing code from the attached,
so I took the complicated path for now.)
--
Michael
Attachments:
doc-builtin-ops.patch (text/x-diff, 53.6K) download
diff --git a/doc/src/sgml/brin.sgml b/doc/src/sgml/brin.sgml
index b9d596e3c4..341fe8e021 100644
--- a/doc/src/sgml/brin.sgml
+++ b/doc/src/sgml/brin.sgml
@@ -133,341 +133,357 @@ LOG: request for BRIN range summarization for index "brin_wi_idx" page 128 was
</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="4"><literal>bit_minmax_ops</literal></entry>
+ <entry morerows="4"><type>bit</type></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>bit_minmax_ops</literal></entry>
- <entry><type>bit</type></entry>
- <entry>
- <literal><</literal>
- <literal><=</literal>
- <literal>=</literal>
- <literal>>=</literal>
- <literal>></literal>
- </entry>
+ <entry morerows="12"><literal>box_inclusion_ops</literal></entry>
+ <entry morerows="12"><type>box</type></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>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>bpchar_minmax_ops</literal></entry>
+ <entry morerows="4"><type>character</type></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>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="4"><literal>bytea_minmax_ops</literal></entry>
+ <entry morerows="4"><type>bytea</type></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>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>char_minmax_ops</literal></entry>
+ <entry morerows="4"><type>"char"</type></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>bpchar_minmax_ops</literal></entry>
- <entry><type>character</type></entry>
- <entry>
- <literal><</literal>
- <literal><=</literal>
- <literal>=</literal>
- <literal>>=</literal>
- <literal>></literal>
- </entry>
+ <entry morerows="44"><literal>datetime_minmax_ops</literal></entry>
+ <entry morerows="44"><type>date</type>, <type>timestamp with time zone</type>, <type>timestamp without time zone</type></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>=(timestamp with time zone,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal><(timestamp with time zone,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal><=(timestamp with time zone,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal>>(timestamp with time zone,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal>>=(timestamp with time zone,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal>=(timestamp without time zone,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal><(timestamp without time zone,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal><=(timestamp without time zone,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal>>(timestamp without time zone,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal>>=(timestamp without time zone,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal><(date,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal><=(date,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal>=(date,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal>>=(date,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal>>(date,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal><(date,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal><=(date,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal>=(date,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal>>=(date,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal>>(date,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal><(timestamp without time zone,date)</literal></entry></row>
+ <row><entry><literal><=(timestamp without time zone,date)</literal></entry></row>
+ <row><entry><literal>=(timestamp without time zone,date)</literal></entry></row>
+ <row><entry><literal>>=(timestamp without time zone,date)</literal></entry></row>
+ <row><entry><literal>>(timestamp without time zone,date)</literal></entry></row>
+ <row><entry><literal><(timestamp with time zone,date)</literal></entry></row>
+ <row><entry><literal><=(timestamp with time zone,date)</literal></entry></row>
+ <row><entry><literal>=(timestamp with time zone,date)</literal></entry></row>
+ <row><entry><literal>>=(timestamp with time zone,date)</literal></entry></row>
+ <row><entry><literal>>(timestamp with time zone,date)</literal></entry></row>
+ <row><entry><literal><(timestamp without time zone,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal><=(timestamp without time zone,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal>=(timestamp without time zone,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal>>=(timestamp without time zone,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal>>(timestamp without time zone,timestamp with time zone)</literal></entry></row>
+ <row><entry><literal><(timestamp with time zone,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal><=(timestamp with time zone,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal>=(timestamp with time zone,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal>>=(timestamp with time zone,timestamp without time zone)</literal></entry></row>
+ <row><entry><literal>>(timestamp with time zone,timestamp without time zone)</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="19"><literal>float_minmax_ops</literal></entry>
+ <entry morerows="19"><type>double precision</type>, <type>real</type></entry>
+ <entry><literal>=(real,real)</literal></entry>
</row>
+ <row><entry><literal><(real,real)</literal></entry></row>
+ <row><entry><literal>>(real,real)</literal></entry></row>
+ <row><entry><literal><=(real,real)</literal></entry></row>
+ <row><entry><literal>>=(real,real)</literal></entry></row>
+ <row><entry><literal>=(double precision,double precision)</literal></entry></row>
+ <row><entry><literal><(double precision,double precision)</literal></entry></row>
+ <row><entry><literal><=(double precision,double precision)</literal></entry></row>
+ <row><entry><literal>>(double precision,double precision)</literal></entry></row>
+ <row><entry><literal>>=(double precision,double precision)</literal></entry></row>
+ <row><entry><literal>=(real,double precision)</literal></entry></row>
+ <row><entry><literal><(real,double precision)</literal></entry></row>
+ <row><entry><literal>>(real,double precision)</literal></entry></row>
+ <row><entry><literal><=(real,double precision)</literal></entry></row>
+ <row><entry><literal>>=(real,double precision)</literal></entry></row>
+ <row><entry><literal>=(double precision,real)</literal></entry></row>
+ <row><entry><literal><(double precision,real)</literal></entry></row>
+ <row><entry><literal>>(double precision,real)</literal></entry></row>
+ <row><entry><literal><=(double precision,real)</literal></entry></row>
+ <row><entry><literal>>=(double precision,real)</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="44"><literal>integer_minmax_ops</literal></entry>
+ <entry morerows="44"><type>smallint</type>, <type>integer</type>, <type>bigint</type></entry>
+ <entry><literal>=(integer,bigint)</literal></entry>
</row>
+ <row><entry><literal><(integer,bigint)</literal></entry></row>
+ <row><entry><literal>>(integer,bigint)</literal></entry></row>
+ <row><entry><literal><=(integer,bigint)</literal></entry></row>
+ <row><entry><literal>>=(integer,bigint)</literal></entry></row>
+ <row><entry><literal>=(smallint,smallint)</literal></entry></row>
+ <row><entry><literal><(smallint,smallint)</literal></entry></row>
+ <row><entry><literal>=(integer,integer)</literal></entry></row>
+ <row><entry><literal><(integer,integer)</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>>=(bigint,bigint)</literal></entry></row>
+ <row><entry><literal>=(bigint,integer)</literal></entry></row>
+ <row><entry><literal><(bigint,integer)</literal></entry></row>
+ <row><entry><literal>>(bigint,integer)</literal></entry></row>
+ <row><entry><literal><=(bigint,integer)</literal></entry></row>
+ <row><entry><literal>>=(bigint,integer)</literal></entry></row>
+ <row><entry><literal>>(smallint,smallint)</literal></entry></row>
+ <row><entry><literal>>(integer,integer)</literal></entry></row>
+ <row><entry><literal><=(smallint,smallint)</literal></entry></row>
+ <row><entry><literal><=(integer,integer)</literal></entry></row>
+ <row><entry><literal>>=(smallint,smallint)</literal></entry></row>
+ <row><entry><literal>>=(integer,integer)</literal></entry></row>
+ <row><entry><literal>=(smallint,integer)</literal></entry></row>
+ <row><entry><literal>=(integer,smallint)</literal></entry></row>
+ <row><entry><literal><(smallint,integer)</literal></entry></row>
+ <row><entry><literal><(integer,smallint)</literal></entry></row>
+ <row><entry><literal>>(smallint,integer)</literal></entry></row>
+ <row><entry><literal>>(integer,smallint)</literal></entry></row>
+ <row><entry><literal><=(smallint,integer)</literal></entry></row>
+ <row><entry><literal><=(integer,smallint)</literal></entry></row>
+ <row><entry><literal>>=(smallint,integer)</literal></entry></row>
+ <row><entry><literal>>=(integer,smallint)</literal></entry></row>
+ <row><entry><literal>=(smallint,bigint)</literal></entry></row>
+ <row><entry><literal><(smallint,bigint)</literal></entry></row>
+ <row><entry><literal>>(smallint,bigint)</literal></entry></row>
+ <row><entry><literal><=(smallint,bigint)</literal></entry></row>
+ <row><entry><literal>>=(smallint,bigint)</literal></entry></row>
+ <row><entry><literal>=(bigint,smallint)</literal></entry></row>
+ <row><entry><literal><(bigint,smallint)</literal></entry></row>
+ <row><entry><literal>>(bigint,smallint)</literal></entry></row>
+ <row><entry><literal><=(bigint,smallint)</literal></entry></row>
+ <row><entry><literal>>=(bigint,smallint)</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>interval_minmax_ops</literal></entry>
+ <entry morerows="4"><type>interval</type></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>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>maxaddr8_minmax_ops</literal></entry>
+ <entry morerows="4"><type>macaddr8</type></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>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="4"><literal>maxaddr_minmax_ops</literal></entry>
+ <entry morerows="4"><type>macaddr</type></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>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>name_minmax_ops</literal></entry>
+ <entry morerows="4"><type>name</type></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>interval_minmax_ops</literal></entry>
- <entry><type>interval</type></entry>
- <entry>
- <literal><</literal>
- <literal><=</literal>
- <literal>=</literal>
- <literal>>=</literal>
- <literal>></literal>
- </entry>
+ <entry morerows="5"><literal>network_inclusion_ops</literal></entry>
+ <entry morerows="5"><type>inet</type></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>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>network_minmax_ops</literal></entry>
+ <entry morerows="4"><type>inet</type></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>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>numeric_minmax_ops</literal></entry>
+ <entry morerows="4"><type>numeric</type></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>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>oid_minmax_ops</literal></entry>
+ <entry morerows="4"><type>oid</type></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>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>pg_lsn_minmax_ops</literal></entry>
+ <entry morerows="4"><type>pg_lsn</type></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>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="13"><literal>range_inclusion_ops</literal></entry>
+ <entry morerows="13"><type>any range type</type></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>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>text_minmax_ops</literal></entry>
+ <entry morerows="4"><type>text</type></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>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>tid_minmax_ops</literal></entry>
+ <entry morerows="4"><type>tid</type></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>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>time_minmax_ops</literal></entry>
+ <entry morerows="4"><type>time without time zone</type></entry>
+ <entry><literal>=(time without time zone,time without time zone)</literal></entry>
</row>
+ <row><entry><literal><(time without time zone,time without time zone)</literal></entry></row>
+ <row><entry><literal><=(time without time zone,time without time zone)</literal></entry></row>
+ <row><entry><literal>>(time without time zone,time without time zone)</literal></entry></row>
+ <row><entry><literal>>=(time without time zone,time without time zone)</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>timetz_minmax_ops</literal></entry>
+ <entry morerows="4"><type>time with time zone</type></entry>
+ <entry><literal>=(time with time zone,time with time zone)</literal></entry>
</row>
+ <row><entry><literal><(time with time zone,time with time zone)</literal></entry></row>
+ <row><entry><literal><=(time with time zone,time with time zone)</literal></entry></row>
+ <row><entry><literal>>(time with time zone,time with time zone)</literal></entry></row>
+ <row><entry><literal>>=(time with time zone,time with time zone)</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>uuid_minmax_ops</literal></entry>
+ <entry morerows="4"><type>uuid</type></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>
+
<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>
- </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>
- </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>
- </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>
- </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>
- </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>varbit_minmax_ops</literal></entry>
+ <entry morerows="4"><type>varbit</type></entry>
+ <entry><literal>=(bit varying,bit varying)</literal></entry>
</row>
+ <row><entry><literal><(bit varying,bit varying)</literal></entry></row>
+ <row><entry><literal>>(bit varying,bit varying)</literal></entry></row>
+ <row><entry><literal><=(bit varying,bit varying)</literal></entry></row>
+ <row><entry><literal>>=(bit varying,bit varying)</literal></entry></row>
</tbody>
</tgroup>
</table>
diff --git a/doc/src/sgml/gin.sgml b/doc/src/sgml/gin.sgml
index 2d862669c3..6fee0280be 100644
--- a/doc/src/sgml/gin.sgml
+++ b/doc/src/sgml/gin.sgml
@@ -85,43 +85,57 @@
</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 morerows="3"><type>anyarray</type></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 morerows="5"><type>jsonb</type></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 morerows="2"><type>jsonb</type></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 morerows="1"><type>tsvector</type></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..0637077f6f 100644
--- a/doc/src/sgml/gist.sgml
+++ b/doc/src/sgml/gist.sgml
@@ -64,146 +64,119 @@
</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 morerows="13"><type>box</type></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 morerows="13"><type>circle</type></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 morerows="10"><type>inet</type>, <type>cidr</type></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 morerows="7"><type>point</type></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="14"><literal>poly_ops</literal></entry>
+ <entry morerows="14"><type>polygon</type></entry>
+ <entry><literal><<(polygon,polygon)</literal></entry>
+ <entry morerows="14"><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><->(polygon,point)</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 morerows="9">any range type</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 morerows="1"><type>tsquery</type></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..5d45ef81e0 100644
--- a/doc/src/sgml/spgist.sgml
+++ b/doc/src/sgml/spgist.sgml
@@ -75,131 +75,113 @@
</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 morerows="11"><type>box</type></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 morerows="5"><type>point</type></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 morerows="10"><type>inet</type>, <type>cidr</type></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 morerows="11"><type>polygon</type></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 morerows="5"><type>point</type></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 morerows="9">any range type</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 morerows="9"><type>text</type></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 (application/pgp-signature, 832B) download
view thread (28+ messages) latest in thread
Message-ID: <20200826065618.GG2017@paquier.xyz>
Permalink: ../20200826065618.GG2017@paquier.xyz/
Also on: postgresql.org/message-id/20200826065618.GG2017@paquier.xyz
copy link · copy postgr.es · copy git am
reply Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-docs@postgresql.org
Cc: michael@paquier.xyz, tgl@sss.pgh.pa.us, alvherre@2ndquadrant.com, bruce@momjian.us, mailtch@163.com
Subject: Re: Document "59.2. Built-in Operator Classes" have a clerical error?
In-Reply-To: <20200826065618.GG2017@paquier.xyz>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox