Re: Text operators "~<=~ ~<~ ~>=~ ~>~" not documented - Mailing list pgsql-docs

From David G. Johnston
Subject Re: Text operators "~<=~ ~<~ ~>=~ ~>~" not documented
Date
Msg-id CAKFQuwZiuWg5QEk-tN+=Y8JS1cY-xFxe0xZKbMLBh1TM-fSh7w@mail.gmail.com
Whole thread Raw
In response to Text operators "~<=~ ~<~ ~>=~ ~>~" not documented  (Adrien Nayrat <adrien.nayrat@dalibo.com>)
Responses Re: Text operators "~<=~ ~<~ ~>=~ ~>~" not documented
List pgsql-docs
On Thu, Feb 8, 2018 at 6:26 AM, Adrien Nayrat <adrien.nayrat@dalibo.com> wrote:
Hello,

While reading [1] I notice $subject operators lacks of explanation in
documentation.
​[..]​


~<~     less than
~>~     greater than
~<=~    less than or equal to
~>=~    greater than or equal to

For all, it is a character-by-character comparison regardless of collation. We
encounter them when we use text_pattern_ops for example :

create index ON users  ( location text_pattern_ops);
explain select * from users where location like 'test%';
                                     QUERY PLAN
------------------------------------------------------------------------------------
 Index Scan using users_location_idx1 on users  (cost=0.43..2.46 rows=54 width=201)
   Index Cond: ((location ~>=~ 'test'::text) AND (location ~<~ 'tesu'::text))
   Filter: (location ~~ 'test%'::text)
(3 lignes)


Should we add them on this page?
https://www.postgresql.org/docs/devel/static/functions-string.html

Thanks!


1: https://www.postgresql.org/docs/current/static/spgist-builtin-opclasses.html


I'd be inclined to remove those four operators from the spgist page's table and replace them with "LIKE".  Then in the text below the table explain that LIKE is implemented using a combination of those four operators.

If we do add them to the functions and operators chapter it should be in the pattern matching section:



9.7.1 LIKE needs a table containing [!]~~ and [!]~~* added anyway; tacking these on as well and noting them as implementation functions (i.e., not something a user would want to invoke directly typically) would be appropriate.

David J.

pgsql-docs by date:

Previous
From: Adrien Nayrat
Date:
Subject: Text operators "~<=~ ~<~ ~>=~ ~>~" not documented
Next
From: Tom Lane
Date:
Subject: Re: Text operators "~<=~ ~<~ ~>=~ ~>~" not documented