Skip to content

Commit c220c3e

Browse files
author
yusinnmao
committed
test: add SLT tests for levenshtein expression
Add SQL logic test file covering: - Column arguments with NULL propagation - Column + literal combinations - Literal + literal edge cases - Identical string comparison - Unicode character-level distance
1 parent 8fbec5c commit c220c3e

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
-- Licensed to the Apache Software Foundation (ASF) under one
2+
-- or more contributor license agreements. See the NOTICE file
3+
-- distributed with this work for additional information
4+
-- regarding copyright ownership. The ASF licenses this file
5+
-- to you under the Apache License, Version 2.0 (the
6+
-- "License"); you may not use this file except in compliance
7+
-- with the License. You may obtain a copy of the License at
8+
--
9+
-- http://www.apache.org/licenses/LICENSE-2.0
10+
--
11+
-- Unless required by applicable law or agreed to in writing,
12+
-- software distributed under the License is distributed on an
13+
-- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
-- KIND, either express or implied. See the License for the
15+
-- specific language governing permissions and limitations
16+
-- under the License.
17+
18+
statement
19+
CREATE TABLE test_levenshtein(s1 string, s2 string) USING parquet
20+
21+
statement
22+
INSERT INTO test_levenshtein VALUES ('kitten', 'sitting'), ('frog', 'fog'), ('abc', 'abc'), ('', 'hello'), ('hello', ''), ('', ''), (NULL, 'test'), ('hello', NULL), (NULL, NULL)
23+
24+
-- column arguments
25+
query
26+
SELECT levenshtein(s1, s2) FROM test_levenshtein
27+
28+
-- column + literal
29+
query
30+
SELECT levenshtein(s1, 'abc') FROM test_levenshtein
31+
32+
-- literal + column
33+
query
34+
SELECT levenshtein('kitten', s2) FROM test_levenshtein
35+
36+
-- literal + literal
37+
query
38+
SELECT levenshtein('kitten', 'sitting'), levenshtein('frog', 'fog'), levenshtein('', ''), levenshtein(NULL, 'a')
39+
40+
-- identical strings
41+
query
42+
SELECT levenshtein(s1, s1) FROM test_levenshtein
43+
44+
-- unicode characters
45+
query
46+
SELECT levenshtein('café', 'cafe'), levenshtein('你好', '你坏')

0 commit comments

Comments
 (0)