From 7a1cd5260aa20bc13aec8960a57904b5623d1830 Mon Sep 17 00:00:00 2001
From: Michael Paquier
Date: Fri, 28 Aug 2020 16:54:59 +0900
Subject: 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
---
doc/src/sgml/brin.sgml | 616 +++++++++++++++++++++--------------------------
doc/src/sgml/gin.sgml | 75 +++---
doc/src/sgml/gist.sgml | 225 ++++++++---------
doc/src/sgml/spgist.sgml | 202 +++++++---------
4 files changed, 504 insertions(+), 614 deletions(-)
(limited to 'doc/src')
diff --git a/doc/src/sgml/brin.sgml b/doc/src/sgml/brin.sgml
index b9d596e3c4e..4420794e5bb 100644
--- a/doc/src/sgml/brin.sgml
+++ b/doc/src/sgml/brin.sgml
@@ -120,354 +120,292 @@ LOG: request for BRIN range summarization for index "brin_wi_idx" page 128 was
Built-in BRIN Operator Classes
-
-
-
-
+
Name
- Indexed Data Type
Indexable Operators
- int8_minmax_ops
- bigint
-
- <
- <=
- =
- >=
- >
-
-
-
- bit_minmax_ops
- bit
-
- <
- <=
- =
- >=
- >
-
-
-
- varbit_minmax_ops
- bit varying
-
- <
- <=
- =
- >=
- >
-
-
-
- box_inclusion_ops
- box
-
- <<
- &<
- &&
- &>
- >>
- ~=
- @>
- <@
- &<|
- <<|
- |>>
- |&>
-
-
-
- bytea_minmax_ops
- bytea
-
- <
- <=
- =
- >=
- >
-
-
-
- bpchar_minmax_ops
- character
-
- <
- <=
- =
- >=
- >
-
-
-
- char_minmax_ops
- "char"
-
- <
- <=
- =
- >=
- >
-
-
-
- date_minmax_ops
- date
-
- <
- <=
- =
- >=
- >
-
-
-
- float8_minmax_ops
- double precision
-
- <
- <=
- =
- >=
- >
-
-
-
- inet_minmax_ops
- inet
-
- <
- <=
- =
- >=
- >
-
-
-
- network_inclusion_ops
- inet
-
- &&
- >>=
- <<=
- =
- >>
- <<
-
-
-
- int4_minmax_ops
- integer
-
- <
- <=
- =
- >=
- >
-
-
-
- interval_minmax_ops
- interval
-
- <
- <=
- =
- >=
- >
-
-
-
- macaddr_minmax_ops
- macaddr
-
- <
- <=
- =
- >=
- >
-
-
-
- macaddr8_minmax_ops
- macaddr8
-
- <
- <=
- =
- >=
- >
-
-
-
- name_minmax_ops
- name
-
- <
- <=
- =
- >=
- >
-
-
-
- numeric_minmax_ops
- numeric
-
- <
- <=
- =
- >=
- >
-
-
-
- pg_lsn_minmax_ops
- pg_lsn
-
- <
- <=
- =
- >=
- >
-
-
-
- oid_minmax_ops
- oid
-
- <
- <=
- =
- >=
- >
-
-
-
- range_inclusion_ops
- any range type
-
- <<
- &<
- &&
- &>
- >>
- @>
- <@
- -|-
- =
- <
- <=
- =
- >
- >=
-
-
-
- float4_minmax_ops
- real
-
- <
- <=
- =
- >=
- >
-
-
-
- int2_minmax_ops
- smallint
-
- <
- <=
- =
- >=
- >
-
-
-
- text_minmax_ops
- text
-
- <
- <=
- =
- >=
- >
-
-
-
- tid_minmax_ops
- tid
-
- <
- <=
- =
- >=
- >
-
-
-
- timestamp_minmax_ops
- timestamp without time zone
-
- <
- <=
- =
- >=
- >
-
-
-
- timestamptz_minmax_ops
- timestamp with time zone
-
- <
- <=
- =
- >=
- >
-
-
-
- time_minmax_ops
- time without time zone
-
- <
- <=
- =
- >=
- >
-
-
-
- timetz_minmax_ops
- time with time zone
-
- <
- <=
- =
- >=
- >
-
-
-
- uuid_minmax_ops
- uuid
-
- <
- <=
- =
- >=
- >
-
+ bit_minmax_ops
+ = (bit,bit)
+
+ < (bit,bit)
+ > (bit,bit)
+ <= (bit,bit)
+ >= (bit,bit)
+
+
+ box_inclusion_ops
+ @> (box,point)
+
+ << (box,box)
+ &< (box,box)
+ &> (box,box)
+ >> (box,box)
+ <@ (box,box)
+ @> (box,box)
+ ~= (box,box)
+ && (box,box)
+ <<| (box,box)
+ &<| (box,box)
+ |&> (box,box)
+ |>> (box,box)
+
+
+ bpchar_minmax_ops
+ = (character,character)
+
+ < (character,character)
+ <= (character,character)
+ > (character,character)
+ >= (character,character)
+
+
+ bytea_minmax_ops
+ = (bytea,bytea)
+
+ < (bytea,bytea)
+ <= (bytea,bytea)
+ > (bytea,bytea)
+ >= (bytea,bytea)
+
+
+ char_minmax_ops
+ = ("char","char")
+
+ < ("char","char")
+ <= ("char","char")
+ > ("char","char")
+ >= ("char","char")
+
+
+ date_minmax_ops
+ = (date,date)
+
+ < (date,date)
+ <= (date,date)
+ > (date,date)
+ >= (date,date)
+
+
+ float4_minmax_ops
+ = (float4,float4)
+
+ < (float4,float4)
+ > (float4,float4)
+ <= (float4,float4)
+ >= (float4,float4)
+
+
+ float8_minmax_ops
+ = (float8,float8)
+
+ < (float8,float8)
+ <= (float8,float8)
+ > (float8,float8)
+ >= (float8,float8)
+
+
+ inet_inclusion_ops
+ << (inet,inet)
+
+ <<= (inet,inet)
+ >> (inet,inet)
+ >>= (inet,inet)
+ = (inet,inet)
+ && (inet,inet)
+
+
+ inet_minmax_ops
+ = (inet,inet)
+
+ < (inet,inet)
+ <= (inet,inet)
+ > (inet,inet)
+ >= (inet,inet)
+
+
+ int2_minmax_ops
+ = (int2,int2)
+
+ < (int2,int2)
+ > (int2,int2)
+ <= (int2,int2)
+ >= (int2,int2)
+
+
+ int4_minmax_ops
+ = (int4,int4)
+
+ < (int4,int4)
+ > (int4,int4)
+ <= (int4,int4)
+ >= (int4,int4)
+
+
+ int8_minmax_ops
+ = (bigint,bigint)
+
+ < (bigint,bigint)
+ > (bigint,bigint)
+ <= (bigint,bigint)
+ >= (bigint,bigint)
+
+
+ interval_minmax_ops
+ = (interval,interval)
+
+ < (interval,interval)
+ <= (interval,interval)
+ > (interval,interval)
+ >= (interval,interval)
+
+
+ macaddr_minmax_ops
+ = (macaddr,macaddr)
+
+ < (macaddr,macaddr)
+ <= (macaddr,macaddr)
+ > (macaddr,macaddr)
+ >= (macaddr,macaddr)
+
+
+ macaddr8_minmax_ops
+ = (macaddr8,macaddr8)
+
+ < (macaddr8,macaddr8)
+ <= (macaddr8,macaddr8)
+ > (macaddr8,macaddr8)
+ >= (macaddr8,macaddr8)
+
+
+ name_minmax_ops
+ = (name,name)
+
+ < (name,name)
+ <= (name,name)
+ > (name,name)
+ >= (name,name)
+
+
+ numeric_minmax_ops
+ = (numeric,numeric)
+
+ < (numeric,numeric)
+ <= (numeric,numeric)
+ > (numeric,numeric)
+ >= (numeric,numeric)
+
+
+ oid_minmax_ops
+ = (oid,oid)
+
+ < (oid,oid)
+ > (oid,oid)
+ <= (oid,oid)
+ >= (oid,oid)
+
+
+ pg_lsn_minmax_ops
+ = (pg_lsn,pg_lsn)
+
+ < (pg_lsn,pg_lsn)
+ > (pg_lsn,pg_lsn)
+ <= (pg_lsn,pg_lsn)
+ >= (pg_lsn,pg_lsn)
+
+
+ range_inclusion_ops
+ = (anyrange,anyrange)
+
+ < (anyrange,anyrange)
+ <= (anyrange,anyrange)
+ >= (anyrange,anyrange)
+ > (anyrange,anyrange)
+ && (anyrange,anyrange)
+ @> (anyrange,anyelement)
+ @> (anyrange,anyrange)
+ <@ (anyrange,anyrange)
+ << (anyrange,anyrange)
+ >> (anyrange,anyrange)
+ &< (anyrange,anyrange)
+ &> (anyrange,anyrange)
+ -|- (anyrange,anyrange)
+
+
+ text_minmax_ops
+ = (text,text)
+
+ < (text,text)
+ <= (text,text)
+ > (text,text)
+ >= (text,text)
+
+
+ tid_minmax_ops
+ = (tid,tid)
+
+ < (tid,tid)
+ > (tid,tid)
+ <= (tid,tid)
+ >= (tid,tid)
+
+
+ timestamp_minmax_ops
+ = (timestamp,timestamp)
+
+ < (timestamp,timestamp)
+ <= (timestamp,timestamp)
+ > (timestamp,timestamp)
+ >= (timestamp,timestamp)
+
+
+ timestamptz_minmax_ops
+ = (timestamptz,timestamptz)
+
+ < (timestamptz,timestamptz)
+ <= (timestamptz,timestamptz)
+ > (timestamptz,timestamptz)
+ >= (timestamptz,timestamptz)
+
+
+ time_minmax_ops
+ = (time,time)
+
+ < (time,time)
+ <= (time,time)
+ > (time,time)
+ >= (time,time)
+
+
+ timetz_minmax_ops
+ = (timetz,timetz)
+
+ < (timetz,timetz)
+ <= (timetz,timetz)
+ > (timetz,timetz)
+ >= (timetz,timetz)
+
+
+ uuid_minmax_ops
+ = (uuid,uuid)
+
+ < (uuid,uuid)
+ > (uuid,uuid)
+ <= (uuid,uuid)
+ >= (uuid,uuid)
+
+
+ varbit_minmax_ops
+ = (varbit,varbit)
+ < (varbit,varbit)
+ > (varbit,varbit)
+ <= (varbit,varbit)
+ >= (varbit,varbit)
diff --git a/doc/src/sgml/gin.sgml b/doc/src/sgml/gin.sgml
index 2d862669c33..5c8d4d52757 100644
--- a/doc/src/sgml/gin.sgml
+++ b/doc/src/sgml/gin.sgml
@@ -75,53 +75,62 @@
Built-in GIN Operator Classes
-
+
Name
- Indexed Data Type
Indexable Operators
- array_ops
- anyarray
-
- &&
- <@
- =
- @>
-
+ array_ops
+ && (anyarray,anyarray)
- jsonb_ops
- jsonb
-
- ?
- ?&
- ?|
- @>
- @?
- @@
-
+ @> (anyarray,anyarray)
- jsonb_path_ops
- jsonb
-
- @>
- @?
- @@
-
+ <@ (anyarray,anyarray)
- tsvector_ops
- tsvector
-
- @@
- @@@
-
+ = (anyarray,anyarray)
+
+
+ jsonb_ops
+ @> (jsonb,jsonb)
+
+
+ @? (jsonb,jsonpath)
+
+
+ @@ (jsonb,jsonpath)
+
+
+ ? (jsonb,text)
+
+
+ ?| (jsonb,text[])
+
+
+ ?& (jsonb,text[])
+
+
+ jsonb_path_ops
+ @> (jsonb,jsonb)
+
+
+ @? (jsonb,jsonpath)
+
+
+ @@ (jsonb,jsonpath)
+
+
+ tsvector_ops
+ @@ (tsvector,tsquery)
+
+
+ @@@ (tsvector,tsquery)
diff --git a/doc/src/sgml/gist.sgml b/doc/src/sgml/gist.sgml
index a505815f4ec..f9226e7a35c 100644
--- a/doc/src/sgml/gist.sgml
+++ b/doc/src/sgml/gist.sgml
@@ -53,157 +53,126 @@
Built-in GiST Operator Classes
-
+
Name
- Indexed Data Type
Indexable Operators
Ordering Operators
- box_ops
- box
-
- &&
- &>
- &<
- &<|
- >>
- <<
- <<|
- <@
- @>
- @
- |&>
- |>>
- ~
- ~=
-
-
- <->
-
+ box_ops
+ << (box,box)
+ <-> (box,point)
+ &< (box,box)
+ && (box,box)
+ &> (box,box)
+ >> (box,box)
+ ~= (box,box)
+ @> (box,box)
+ <@ (box,box)
+ &<| (box,box)
+ <<| (box,box)
+ |>> (box,box)
+ |&> (box,box)
+ ~ (box,box)
+ @ (box,box)
+
- circle_ops
- circle
-
- &&
- &>
- &<
- &<|
- >>
- <<
- <<|
- <@
- @>
- @
- |&>
- |>>
- ~
- ~=
-
-
- <->
-
+ circle_ops
+ << (circle,circle)
+ <-> (circle,point)
+ &< (circle,circle)
+ &> (circle,circle)
+ >> (circle,circle)
+ <@ (circle,circle)
+ @> (circle,circle)
+ ~= (circle,circle)
+ && (circle,circle)
+ |>> (circle,circle)
+ <<| (circle,circle)
+ &<| (circle,circle)
+ |&> (circle,circle)
+ @ (circle,circle)
+ ~ (circle,circle)
+
- inet_ops
- inet, cidr
-
- &&
- >>
- >>=
- >
- >=
- <>
- <<
- <<=
- <
- <=
- =
-
-
-
+ inet_ops
+ << (inet,inet)
+
+ <<= (inet,inet)
+ >> (inet,inet)
+ >>= (inet,inet)
+ = (inet,inet)
+ <> (inet,inet)
+ < (inet,inet)
+ <= (inet,inet)
+ > (inet,inet)
+ >= (inet,inet)
+ && (inet,inet)
+
- point_ops
- point
-
- >>
- >^
- <<
- <@
- <@
- <@
- <^
- ~=
-
-
- <->
-
+ point_ops
+ >^ (point,point)
+ <-> (point,point)
+ << (point,point)
+ >> (point,point)
+ <^ (point,point)
+ ~= (point,point)
+ <@ (point,box)
+ <@ (point,polygon)
+ <@ (point,circle)
+
- poly_ops
- polygon
-
- &&
- &>
- &<
- &<|
- >>
- <<
- <<|
- <@
- @>
- @
- |&>
- |>>
- ~
- ~=
-
-
- <->
-
+ poly_ops
+ << (polygon,polygon)
+ <-> (polygon,point)
+ &< (polygon,polygon)
+ &> (polygon,polygon)
+ >> (polygon,polygon)
+ <@ (polygon,polygon)
+ @> (polygon,polygon)
+ ~= (polygon,polygon)
+ && (polygon,polygon)
+ <<| (polygon,polygon)
+ &<| (polygon,polygon)
+ |&> (polygon,polygon)
+ |>> (polygon,polygon)
+ @ (polygon,polygon)
+ ~ (polygon,polygon)
+
- range_ops
- any range type
-
- &&
- &>
- &<
- >>
- <<
- <@
- -|-
- =
- @>
- @>
-
-
-
+ range_ops
+ = (anyrange,anyrange)
+
+ && (anyrange,anyrange)
+ @> (anyrange,anyelement)
+ @> (anyrange,anyrange)
+ <@ (anyrange,anyrange)
+ << (anyrange,anyrange)
+ >> (anyrange,anyrange)
+ &< (anyrange,anyrange)
+ &> (anyrange,anyrange)
+ -|- (anyrange,anyrange)
+
- tsquery_ops
- tsquery
-
- <@
- @>
-
-
-
+ tsquery_ops
+ <@ (tsquery,tsquery)
+
+ @> (tsquery,tsquery)
- tsvector_ops
- tsvector
-
- @@
-
-
-
+ tsvector_ops
+ @@ (tsvector,tsquery)
+
diff --git a/doc/src/sgml/spgist.sgml b/doc/src/sgml/spgist.sgml
index b86302e4efd..68d09951d9f 100644
--- a/doc/src/sgml/spgist.sgml
+++ b/doc/src/sgml/spgist.sgml
@@ -64,142 +64,116 @@
Built-in SP-GiST Operator Classes
-
+
Name
- Indexed Data Type
Indexable Operators
Ordering Operators
- kd_point_ops
- point
-
- <<
- <@
- <^
- >>
- >^
- ~=
-
-
- <->
-
+ box_ops
+ << (box,box)
+ <-> (box,point)
+ &< (box,box)
+ &> (box,box)
+ >> (box,box)
+ <@ (box,box)
+ @> (box,box)
+ ~= (box,box)
+ && (box,box)
+ <<| (box,box)
+ &<| (box,box)
+ |&> (box,box)
+ |>> (box,box)
+
- quad_point_ops
- point
-
- <<
- <@
- <^
- >>
- >^
- ~=
-
-
- <->
-
+ kd_point_ops
+ >^ (point,point)
+ <-> (point,point)
+ << (point,point)
+ >> (point,point)
+ <^ (point,point)
+ ~= (point,point)
+ <@ (point,box)
+
- range_ops
- any range type
-
- &&
- &<
- &>
- -|-
- <<
- <@
- =
- >>
- @>
-
-
-
+ network_ops
+ << (inet,inet)
+
+ <<= (inet,inet)
+ >> (inet,inet)
+ >>= (inet,inet)
+ = (inet,inet)
+ <> (inet,inet)
+ < (inet,inet)
+ <= (inet,inet)
+ > (inet,inet)
+ >= (inet,inet)
+ && (inet,inet)
+
- box_ops
- box
-
- <<
- &<
- &&
- &>
- >>
- ~=
- @>
- <@
- &<|
- <<|
- |>>
- |&>
-
-
- <->
-
+ poly_ops
+ << (polygon,polygon)
+ <-> (polygon,point)
+ &< (polygon,polygon)
+ &> (polygon,polygon)
+ >> (polygon,polygon)
+ <@ (polygon,polygon)
+ @> (polygon,polygon)
+ ~= (polygon,polygon)
+ && (polygon,polygon)
+ <<| (polygon,polygon)
+ &<| (polygon,polygon)
+ |>> (polygon,polygon)
+ |&> (polygon,polygon)
+
- poly_ops
- polygon
-
- <<
- &<
- &&
- &>
- >>
- ~=
- @>
- <@
- &<|
- <<|
- |>>
- |&>
-
-
- <->
-
+ quad_point_ops
+ >^ (point,point)
+ <-> (point,point)
+ << (point,point)
+ >> (point,point)
+ <^ (point,point)
+ ~= (point,point)
+ <@ (point,box)
+
- text_ops
- text
-
- <
- <=
- =
- >
- >=
- ~<=~
- ~<~
- ~>=~
- ~>~
- ^@
-
-
-
+ range_ops
+ = (anyrange,anyrange)
+
+ && (anyrange,anyrange)
+ @> (anyrange,anyelement)
+ @> (anyrange,anyrange)
+ <@ (anyrange,anyrange)
+ << (anyrange,anyrange)
+ >> (anyrange,anyrange)
+ &< (anyrange,anyrange)
+ &> (anyrange,anyrange)
+ -|- (anyrange,anyrange)
+
- inet_ops
- inet, cidr
-
- &&
- >>
- >>=
- >
- >=
- <>
- <<
- <<=
- <
- <=
- =
-
-
-
+ text_ops
+ = (text,text)
+
+ < (text,text)
+ <= (text,text)
+ > (text,text)
+ >= (text,text)
+ ~<~ (text,text)
+ ~<=~ (text,text)
+ ~>=~ (text,text)
+ ~>~ (text,text)
+ ^@ (text,text)
--
cgit v1.2.3