bug: fuzzystrmatch levenshtein is wrong - Mailing list pgsql-hackers

From marcin mank
Subject bug: fuzzystrmatch levenshtein is wrong
Date
Msg-id b1b9fac60912070533g17ed035dh316da047767661b4@mail.gmail.com
Whole thread Raw
Responses Re: bug: fuzzystrmatch levenshtein is wrong  (marcin mank <marcin.mank@gmail.com>)
Re: bug: fuzzystrmatch levenshtein is wrong  (Robert Haas <robertmhaas@gmail.com>)
Re: bug: fuzzystrmatch levenshtein is wrong  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
The current behavior of levenshtein(text,text,int,int,int) is wrong. Consider:

leki_dev=# select levenshtein('','a',2,4,5);
 levenshtein
-------------
           1
(1 row)


leki_dev=# select levenshtein('a','',2,4,5);
 levenshtein
-------------
           1
(1 row)


leki_dev=# select levenshtein('aa','a',2,4,5);
 levenshtein
-------------
           1
(1 row)


leki_dev=# select levenshtein('a','aa',2,4,5);
 levenshtein
-------------
           1
(1 row)

versus (after patch)

postgres=# select levenshtein('','a',2,4,5);
 levenshtein
-------------
           2
(1 row)

postgres=# select levenshtein('a','',2,4,5);
 levenshtein
-------------
           4
(1 row)

postgres=# select levenshtein('aa','a',2,4,5);
 levenshtein
-------------
           4
(1 row)

postgres=# select levenshtein('a','aa',2,4,5);
 levenshtein
-------------
           2
(1 row)

patch attached.

Greetings
Marcin Mańk

Attachment

pgsql-hackers by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: [PATCH] Windows x64 [repost]
Next
From: Xin Wang
Date:
Subject: How to cache a non-unique index?