Thread: pgsql: Handle equality operator in contrib/pg_trgm

pgsql: Handle equality operator in contrib/pg_trgm

From
Alexander Korotkov
Date:
Handle equality operator in contrib/pg_trgm

Obviously, in order to equality operator be satisfiable, target string must
contain all the trigrams of the search string.  On this base, we implement
equality operator in GiST/GIN indexes with recheck.

Discussion: https://postgr.es/m/CAOBaU_YWwtT7tdggtROacjdOdeYHCz-tmSwuC-j-TOG-g97J0w%40mail.gmail.com
Author: Julien Rouhaud
Reviewed-by: Tom Lane, Alexander Korotkov, Georgios Kokolatos, Erik Rijkers

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/935f6666502250abde8615bc7805a6e5aa05a066

Modified Files
--------------
contrib/pg_trgm/Makefile              |   2 +-
contrib/pg_trgm/expected/pg_trgm.out  | 204 +++++++++++++++++++++++++++++++++-
contrib/pg_trgm/pg_trgm--1.5--1.6.sql |  10 ++
contrib/pg_trgm/pg_trgm.control       |   2 +-
contrib/pg_trgm/sql/pg_trgm.sql       |  40 +++++++
contrib/pg_trgm/trgm.h                |   1 +
contrib/pg_trgm/trgm_gin.c            |   3 +
contrib/pg_trgm/trgm_gist.c           |   4 +-
doc/src/sgml/pgtrgm.sgml              |   8 +-
9 files changed, 264 insertions(+), 10 deletions(-)


Re: pgsql: Handle equality operator in contrib/pg_trgm

From
Laurenz Albe
Date:
On Sun, 2020-11-15 at 05:53 +0000, Alexander Korotkov wrote:
> Handle equality operator in contrib/pg_trgm
>
> Obviously, in order to equality operator be satisfiable, target string must
> contain all the trigrams of the search string.  On this base, we implement
> equality operator in GiST/GIN indexes with recheck.
>
> Discussion: https://postgr.es/m/CAOBaU_YWwtT7tdggtROacjdOdeYHCz-tmSwuC-j-TOG-g97J0w%40mail.gmail.com
> Author: Julien Rouhaud
> Reviewed-by: Tom Lane, Alexander Korotkov, Georgios Kokolatos, Erik Rijkers
>
> Branch
> ------
> master
>
> Details
> -------
> https://git.postgresql.org/pg/commitdiff/935f6666502250abde8615bc7805a6e5aa05a066

This causes bad query results with non-deterministic collations, see
https://postgr.es/m/8ef4899c4acfebca45cc6c042a6dc611d25ffab1.camel@cybertec.at

Yours,
Laurenz Albe