should be it
This commit is contained in:
287
external/duckdb/test/sql/function/string/test_levenshtein.test
vendored
Normal file
287
external/duckdb/test/sql/function/string/test_levenshtein.test
vendored
Normal file
@@ -0,0 +1,287 @@
|
||||
# name: test/sql/function/string/test_levenshtein.test
|
||||
# description: Test levenshtein function
|
||||
# group: [string]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
|
||||
# normal queries
|
||||
query I
|
||||
SELECT levenshtein('hallo', 'hallo')
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT levenshtein('hallo', 'hello')
|
||||
----
|
||||
1
|
||||
|
||||
query I
|
||||
SELECT levenshtein('hello', 'hallo')
|
||||
----
|
||||
1
|
||||
|
||||
query I
|
||||
SELECT levenshtein('lawn', 'flaw')
|
||||
----
|
||||
2
|
||||
|
||||
query I
|
||||
SELECT levenshtein('flaw', 'lawn')
|
||||
----
|
||||
2
|
||||
|
||||
query I
|
||||
SELECT levenshtein('kitten', 'sitting')
|
||||
----
|
||||
3
|
||||
|
||||
query I
|
||||
SELECT levenshtein('sitting', 'kitten')
|
||||
----
|
||||
3
|
||||
|
||||
query I
|
||||
SELECT levenshtein('hallo', 'hoi')
|
||||
----
|
||||
4
|
||||
|
||||
query I
|
||||
SELECT levenshtein('hoi', 'hallo')
|
||||
----
|
||||
4
|
||||
|
||||
query I
|
||||
SELECT levenshtein(NULL, 'hi')
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein('hi', NULL)
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein(NULL, NULL)
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein('', NULL)
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein(NULL, '')
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein('', 'hi')
|
||||
----
|
||||
2
|
||||
|
||||
query I
|
||||
SELECT levenshtein('hi', '')
|
||||
----
|
||||
2
|
||||
|
||||
query I
|
||||
SELECT levenshtein('', '')
|
||||
----
|
||||
0
|
||||
|
||||
|
||||
statement ok
|
||||
CREATE TABLE strings(s VARCHAR)
|
||||
|
||||
statement ok
|
||||
INSERT INTO strings VALUES ('hello'), ('hallo'), ('aloha'), ('fello'), ('fellow'), ('ducks')
|
||||
|
||||
query I
|
||||
SELECT levenshtein(s, 'hallo') FROM strings ORDER BY s
|
||||
----
|
||||
4
|
||||
5
|
||||
2
|
||||
3
|
||||
0
|
||||
1
|
||||
|
||||
query I
|
||||
SELECT levenshtein('hallo', s) FROM strings ORDER BY s
|
||||
----
|
||||
4
|
||||
5
|
||||
2
|
||||
3
|
||||
0
|
||||
1
|
||||
|
||||
query I
|
||||
SELECT levenshtein(NULL, s) FROM strings
|
||||
----
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein(NULL, s) FROM strings
|
||||
----
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein('', s) FROM strings ORDER BY s
|
||||
----
|
||||
5
|
||||
5
|
||||
5
|
||||
6
|
||||
5
|
||||
5
|
||||
|
||||
query I
|
||||
SELECT levenshtein(s, '') FROM strings ORDER BY s
|
||||
----
|
||||
5
|
||||
5
|
||||
5
|
||||
6
|
||||
5
|
||||
5
|
||||
|
||||
|
||||
statement ok
|
||||
DROP TABLE strings
|
||||
|
||||
statement ok
|
||||
CREATE TABLE strings(s VARCHAR)
|
||||
|
||||
statement ok
|
||||
INSERT INTO strings VALUES (NULL)
|
||||
|
||||
query I
|
||||
SELECT levenshtein(s, NULL) from strings
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein(NULL, s) from strings
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein('hi', s) from strings
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein(s, 'hi') from strings
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein('', s) FROM strings
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein(s, '') FROM strings
|
||||
----
|
||||
NULL
|
||||
|
||||
|
||||
statement ok
|
||||
DROP TABLE strings
|
||||
|
||||
statement ok
|
||||
CREATE TABLE strings(s VARCHAR)
|
||||
|
||||
statement ok
|
||||
INSERT INTO strings VALUES ('')
|
||||
|
||||
query I
|
||||
SELECT levenshtein(NULL, s) FROM strings
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein(s, NULL) FROM strings
|
||||
----
|
||||
NULL
|
||||
|
||||
query I
|
||||
SELECT levenshtein(s, '') FROM strings
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT levenshtein('', s) FROM strings
|
||||
----
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT levenshtein(s, 'hi') FROM strings
|
||||
----
|
||||
2
|
||||
|
||||
query I
|
||||
SELECT levenshtein('hi', s) FROM strings
|
||||
----
|
||||
2
|
||||
|
||||
|
||||
# editdist3
|
||||
query I
|
||||
SELECT editdist3('hallo', 'hello')
|
||||
----
|
||||
1
|
||||
|
||||
query I
|
||||
SELECT editdist3(s, 'hello') FROM strings
|
||||
----
|
||||
5
|
||||
|
||||
# Comparing fields from two columns row wise
|
||||
|
||||
statement ok
|
||||
DROP TABLE strings
|
||||
|
||||
statement ok
|
||||
CREATE TABLE strings(s VARCHAR, t VARCHAR)
|
||||
|
||||
statement ok
|
||||
INSERT INTO strings VALUES ('hello', 'hello'), ('hello', 'hallo'), ('flaw', 'lawn'),
|
||||
('sitting', 'kitten'), ('hallo', 'aloha'), ('hello', 'aloha'),
|
||||
(NULL, NULL), ('', ''),
|
||||
(NULL, 'bora'), ('bora', NULL),
|
||||
('hi', ''), ('', 'hi'),
|
||||
(NULL, ''), ('', NULL)
|
||||
|
||||
|
||||
query I
|
||||
SELECT levenshtein(s, t) ld FROM strings
|
||||
----
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
NULL
|
||||
0
|
||||
NULL
|
||||
NULL
|
||||
2
|
||||
2
|
||||
NULL
|
||||
NULL
|
||||
Reference in New Issue
Block a user