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)
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.