pg.ddx.io  pgsql-docs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Paquier <michael@paquier.xyz>
Cc: osdba <mailtch@163.com>
Cc: pgsql-docs@postgresql.org
Subject: Re: Document "59.2. Built-in Operator Classes" have a clerical error?
Date: Mon, 03 Aug 2020 07:23:48 -0400
Message-ID: <2266167.1596453828@sss.pgh.pa.us> (raw)
In-Reply-To: <20200803074904.GO3317@paquier.xyz>
References: <38d55061.9604.173b32c60ec.Coremail.mailtch@163.com>
	<20200803074904.GO3317@paquier.xyz>

Michael Paquier <michael@paquier.xyz> writes:
> On Mon, Aug 03, 2020 at 03:14:56PM +0800, osdba wrote:
>> "range_opsany range type&& &> &< >> << <@ -|- = @> @>", exist double "@>",
>> Should be "<@ @>" ?

> Indeed, this needs to be improved.  Another issue on the same page is
> that point_ops lists the same operator three times, <@.  Other index
> pages don't seem to have any inconsistencies, fortunately.

psql's handy new \dAo query clarifies things a bit:

regression=# \dAo gist range_ops
                List of operators of operator families
  AM  | Operator family |        Operator         | Strategy | Purpose 
------+-----------------+-------------------------+----------+---------
 gist | range_ops       | <<(anyrange,anyrange)   |        1 | search
 gist | range_ops       | &<(anyrange,anyrange)   |        2 | search
 gist | range_ops       | &&(anyrange,anyrange)   |        3 | search
 gist | range_ops       | &>(anyrange,anyrange)   |        4 | search
 gist | range_ops       | >>(anyrange,anyrange)   |        5 | search
 gist | range_ops       | -|-(anyrange,anyrange)  |        6 | search
 gist | range_ops       | @>(anyrange,anyrange)   |        7 | search
 gist | range_ops       | <@(anyrange,anyrange)   |        8 | search
 gist | range_ops       | =(anyrange,anyrange)    |       18 | search
 gist | range_ops       | @>(anyrange,anyelement) |       16 | search
(10 rows)

regression=# \dAo gist point_ops
              List of operators of operator families
  AM  | Operator family |     Operator      | Strategy | Purpose  
------+-----------------+-------------------+----------+----------
 gist | point_ops       | <<(point,point)   |        1 | search
 gist | point_ops       | >>(point,point)   |        5 | search
 gist | point_ops       | ~=(point,point)   |        6 | search
 gist | point_ops       | <^(point,point)   |       10 | search
 gist | point_ops       | >^(point,point)   |       11 | search
 gist | point_ops       | <->(point,point)  |       15 | ordering
 gist | point_ops       | <@(point,box)     |       28 | search
 gist | point_ops       | <@(point,circle)  |       68 | search
 gist | point_ops       | <@(point,polygon) |       48 | search
(9 rows)

So I don't think it's a clerical error, but certainly showing these
operators this way is none too helpful.  Perhaps including the input types
in this table (and its siblings elsewhere) would be a good thing.

(Looking at these, I'm reminded anew that the sort ordering used by \dAo
is still questionable ...)

			regards, tom lane





view thread (28+ messages)  latest in thread

Message-ID: <2266167.1596453828@sss.pgh.pa.us>
Permalink:  ../2266167.1596453828@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/2266167.1596453828@sss.pgh.pa.us

 · 

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: tgl@sss.pgh.pa.us, michael@paquier.xyz, mailtch@163.com
  Subject: Re: Document "59.2. Built-in Operator Classes" have a clerical error?
  In-Reply-To: <2266167.1596453828@sss.pgh.pa.us>

* 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