Changeset: 41c67d3240ea for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/41c67d3240ea
Modified Files:
clients/Tests/MAL-signatures-hge.test
clients/Tests/MAL-signatures.test
monetdb5/modules/atoms/Tests/endswith.test
monetdb5/modules/atoms/Tests/startswith.test
monetdb5/modules/kernel/Tests/batstr_contains.test
monetdb5/modules/kernel/Tests/batstr_endswith.test
monetdb5/modules/kernel/Tests/batstr_startswith.test
monetdb5/modules/mal/txtsim.c
monetdb5/optimizer/opt_prelude.c
sql/scripts/48_txtsim.sql
sql/scripts/49_strings.sql
Branch: txtsim
Log Message:
Improvements + new bat funs
diffs (truncated from 923 to 300 lines):
diff --git a/clients/Tests/MAL-signatures-hge.test
b/clients/Tests/MAL-signatures-hge.test
--- a/clients/Tests/MAL-signatures-hge.test
+++ b/clients/Tests/MAL-signatures-hge.test
@@ -50879,24 +50879,24 @@ pattern tokenizer.take(X_0:oid):str
TKNZRtakeOid;
reconstruct and returns the i-th string
txtsim
-damerau_levenshtein
-pattern txtsim.damerau_levenshtein(X_0:str, X_1:str):int
-damerau_levenshtein_distance;
+dameraulevenshtein
+pattern txtsim.dameraulevenshtein(X_0:str, X_1:str):int
+dameraulevenshtein;
Calculates Damerau-Levenshtein distance between two strings, operation costs
(ins/del = 1, replacement = 1, transposition = 2)
txtsim
-damerau_levenshtein
-pattern txtsim.damerau_levenshtein(X_0:str, X_1:str, X_2:int, X_3:int,
X_4:int):int
-damerau_levenshtein_distance;
+dameraulevenshtein
+pattern txtsim.dameraulevenshtein(X_0:str, X_1:str, X_2:int, X_3:int,
X_4:int):int
+dameraulevenshtein;
Calculates Damerau-Levenshtein distance between two strings, variable
operation costs (ins/del, replacement, transposition)
txtsim
editdistance
command txtsim.editdistance(X_0:str, X_1:str):int
-damerau_levenshtein1;
+dameraulevenshtein1;
Alias for Damerau-Levenshtein(str,str), insdel cost = 1, replace cost = 1 and
transpose = 2
txtsim
editdistance2
command txtsim.editdistance2(X_0:str, X_1:str):int
-damerau_levenshtein2;
+dameraulevenshtein2;
Alias for Damerau-Levenshtein(str,str), insdel cost = 1, replace cost = 1 and
transpose = 1
txtsim
jaro_winkler_similarity
diff --git a/clients/Tests/MAL-signatures.test
b/clients/Tests/MAL-signatures.test
--- a/clients/Tests/MAL-signatures.test
+++ b/clients/Tests/MAL-signatures.test
@@ -39204,24 +39204,24 @@ pattern tokenizer.take(X_0:oid):str
TKNZRtakeOid;
reconstruct and returns the i-th string
txtsim
-damerau_levenshtein
-pattern txtsim.damerau_levenshtein(X_0:str, X_1:str):int
-damerau_levenshtein_distance;
+dameraulevenshtein
+pattern txtsim.dameraulevenshtein(X_0:str, X_1:str):int
+dameraulevenshtein;
Calculates Damerau-Levenshtein distance between two strings, operation costs
(ins/del = 1, replacement = 1, transposition = 2)
txtsim
-damerau_levenshtein
-pattern txtsim.damerau_levenshtein(X_0:str, X_1:str, X_2:int, X_3:int,
X_4:int):int
-damerau_levenshtein_distance;
+dameraulevenshtein
+pattern txtsim.dameraulevenshtein(X_0:str, X_1:str, X_2:int, X_3:int,
X_4:int):int
+dameraulevenshtein;
Calculates Damerau-Levenshtein distance between two strings, variable
operation costs (ins/del, replacement, transposition)
txtsim
editdistance
command txtsim.editdistance(X_0:str, X_1:str):int
-damerau_levenshtein1;
+dameraulevenshtein1;
Alias for Damerau-Levenshtein(str,str), insdel cost = 1, replace cost = 1 and
transpose = 2
txtsim
editdistance2
command txtsim.editdistance2(X_0:str, X_1:str):int
-damerau_levenshtein2;
+dameraulevenshtein2;
Alias for Damerau-Levenshtein(str,str), insdel cost = 1, replace cost = 1 and
transpose = 1
txtsim
jaro_winkler_similarity
diff --git a/monetdb5/modules/atoms/Tests/endswith.test
b/monetdb5/modules/atoms/Tests/endswith.test
--- a/monetdb5/modules/atoms/Tests/endswith.test
+++ b/monetdb5/modules/atoms/Tests/endswith.test
@@ -1,9 +1,3 @@
-statement ok
-create function endswith(x string, y string) returns bool external name
str."endsWith"
-
-statement ok
-create function iendswith(x string, y string, i bool) returns bool external
name str."endsWith"
-
query T
select endsWith(NULL, '')
----
@@ -35,22 +29,16 @@ select endsWith('johndoe', 'doe')
True
query T
-select iendswith('one two three', 'three', true)
-----
-True
-
-query T
-select iendswith('Thomas Müller', 'müller', true)
+select endswith('one two three', 'three', true)
----
True
query T
-select iendswith('Thomas Müller', 'müller', false)
+select endswith('Thomas Müller', 'müller', true)
+----
+True
+
+query T
+select endswith('Thomas Müller', 'müller', false)
----
False
-
-statement ok
-drop function endswith
-
-statement ok
-drop function iendswith
diff --git a/monetdb5/modules/atoms/Tests/startswith.test
b/monetdb5/modules/atoms/Tests/startswith.test
--- a/monetdb5/modules/atoms/Tests/startswith.test
+++ b/monetdb5/modules/atoms/Tests/startswith.test
@@ -1,9 +1,3 @@
-statement ok
-create function startswith(x string, y string) returns bool external name
str."startsWith"
-
-statement ok
-create function istartswith(x string, y string, i bool) returns bool external
name str."startsWith"
-
query T
select startswith(NULL, '')
----
@@ -35,22 +29,16 @@ select startswith('johndoe', 'john')
True
query T
-select istartswith('one two three', 'three', true)
+select startswith('one two three', 'three', true)
----
False
query T
-select istartswith('Müller Thomas', 'müller', true)
+select startswith('Müller Thomas', 'müller', true)
----
True
query T
-select istartswith('Müller Thomas', 'müller', false)
+select startswith('Müller Thomas', 'müller', false)
----
False
-
-statement ok
-drop function startswith
-
-statement ok
-drop function istartswith
diff --git a/monetdb5/modules/kernel/Tests/batstr_contains.test
b/monetdb5/modules/kernel/Tests/batstr_contains.test
--- a/monetdb5/modules/kernel/Tests/batstr_contains.test
+++ b/monetdb5/modules/kernel/Tests/batstr_contains.test
@@ -10,12 +10,6 @@ insert into foo values ('john doe'),('ja
statement ok
insert into bar values ('johndoe'),('Müller Thomas'),('Thomas MüLLer')
-statement ok
-create function contains(x string, y string) returns bool external name
str."contains"
-
-statement ok
-create function icontains(x string, y string, i bool) returns bool external
name str."contains"
-
query T
select contains(x, '') from foo
----
@@ -59,40 +53,34 @@ True
False
query T
-select icontains('MüLLER Thomas', x, true) from bar
+select contains('MüLLER Thomas', x, true) from bar
----
False
True
False
query T
-select icontains(x, 'DOE', true) from foo
+select contains(x, 'DOE', true) from foo
----
True
True
True
query T
-select icontains(x, 'DOE', false) from foo
+select contains(x, 'DOE', false) from foo
----
False
False
False
query T
-select icontains('doe', x, true) from foo
+select contains('doe', x, true) from foo
----
False
False
False
statement ok
-drop function contains(string, string)
-
-statement ok
-drop function icontains(string, string, bool)
-
-statement ok
drop table foo
statement ok
@@ -110,17 +98,14 @@ insert into baz values ('john doe', 'bra
statement ok
insert into bazbaz values ('john', '21'),('jane', '22'),('robert', '23')
-statement ok
-create filter function icontains(s1 string, s2 string, icase boolean) external
name str."contains";
-
query TT
-select * from baz where [baz.x] icontains ['john', true];
+select * from baz where [baz.x] contains ['john', true];
----
john doe
braga
query TT
-select * from baz where [baz.x] icontains ['doe', true];
+select * from baz where [baz.x] contains ['doe', true];
----
john doe
braga
@@ -130,7 +115,7 @@ robert doe
paris
query TTTT
-select * from baz,bazbaz where [baz.x] icontains [bazbaz.x, true];
+select * from baz,bazbaz where [baz.x] contains [bazbaz.x, true];
----
john doe
braga
@@ -146,9 +131,6 @@ robert
23
statement ok
-drop filter function icontains(string, string, bool)
-
-statement ok
drop table baz
statement ok
diff --git a/monetdb5/modules/kernel/Tests/batstr_endswith.test
b/monetdb5/modules/kernel/Tests/batstr_endswith.test
--- a/monetdb5/modules/kernel/Tests/batstr_endswith.test
+++ b/monetdb5/modules/kernel/Tests/batstr_endswith.test
@@ -1,9 +1,3 @@
-statement ok
-create function endswith(x string, y string) returns bool external name
str."endsWith"
-
-statement ok
-create function iendswith(x string, y string, i bool) returns bool external
name str."endsWith"
-
statement ok
create table foo(x string)
@@ -44,12 +38,6 @@ statement ok
drop table bar
statement ok
-drop function endswith
-
-statement ok
-drop function iendswith
-
-statement ok
create table baz(x string)
statement ok
@@ -61,22 +49,19 @@ insert into baz values ('john doe'),('ja
statement ok
insert into bazbaz values ('doe'),('doe'),('doe')
-statement ok
-create filter function iendsWith(s1 string, s2 string, icase boolean) external
name str."endsWith";
-
query T
-select * from baz where [baz.x] iendsWith ['john', true];
+select * from baz where [baz.x] endswith ['john', true];
----
query T
-select * from baz where [baz.x] iendsWith ['doe', true];
+select * from baz where [baz.x] endswith ['doe', true];
----
john doe
jane doe
robert doe
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]