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: levenshtein.diff
Description: Binary data

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to