Обсуждение: BUG #16569: Document "59.2. Built-in Operator Classes" have a clerical error

Поиск
Список
Период
Сортировка

BUG #16569: Document "59.2. Built-in Operator Classes" have a clerical error

От
PG Bug reporting form
Дата:
The following bug has been logged on the website:

Bug reference:      16569
Logged by:          osdba
Email address:      mailtch@163.com
PostgreSQL version: 9.5.0
Operating system:   all
Description:

In Document "Table 59-1. Built-in GiST Operator Classes":

"range_ops    any range type    && &> &< >> << <@ -|- = @> @>",

 double "@> @>",  I think should be "<@ @>" .

all version document have same clerical error.


Re: BUG #16569: Document "59.2. Built-in Operator Classes" have a clerical error

От
Tomas Vondra
Дата:
On Mon, Aug 03, 2020 at 03:28:27AM +0000, PG Bug reporting form wrote:
>The following bug has been logged on the website:
>
>Bug reference:      16569
>Logged by:          osdba
>Email address:      mailtch@163.com
>PostgreSQL version: 9.5.0
>Operating system:   all
>Description:
>
>In Document "Table 59-1. Built-in GiST Operator Classes":
>
>"range_ops    any range type    && &> &< >> << <@ -|- = @> @>",
>
> double "@> @>",  I think should be "<@ @>" .
>
>all version document have same clerical error.
>

I agree this is rather confusing, but I don't think it's a bug ...

I'd bet the reason why we have '@> @>' and not '<@ @>' is that those for
different argument types. GiST range_ops has

    @>(anyrange,anyrange)
    <@(anyrange,anyrange)
    @>(anyrange,anyelement)

But we only show the first and third one, because the <@ is commutator
for the first one.

We have a similar thing for point_ops where we have <@ three times, but
those are for different combinations of point, box and circle types.

It's confusing, though. I wonder if we should do one or more of these
changes:

(1) include accepted argument types

(2) only list distinct oprname (so not printing <@ twice)

(3) include commutators (so printing both <@ and @>) 

(4) link to https://www.postgresql.org/docs/12/functions-range.html
     which already has alll these additional details


regards

-- 
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services