pgsql: Handle equality operator in contrib/pg_trgm

Started by Alexander Korotkovover 5 years ago2 messagescomitters
Jump to latest
#1Alexander Korotkov
aekorotkov@gmail.com

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: /messages/by-id/CAOBaU_YWwtT7tdggtROacjdOdeYHCz-tmSwuC-j-TOG-g97J0w@mail.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(-)

#2Laurenz Albe
laurenz.albe@cybertec.at
In reply to: Alexander Korotkov (#1)
Re: pgsql: Handle equality operator in contrib/pg_trgm

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: /messages/by-id/CAOBaU_YWwtT7tdggtROacjdOdeYHCz-tmSwuC-j-TOG-g97J0w@mail.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
/messages/by-id/8ef4899c4acfebca45cc6c042a6dc611d25ffab1.camel@cybertec.at

Yours,
Laurenz Albe