Changeset: 26e2e469b44c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/26e2e469b44c
Modified Files:
        clients/Tests/MAL-signatures-hge.test
        clients/Tests/MAL-signatures.test
        monetdb5/mal/Tests/tst850.maltest
        monetdb5/modules/atoms/str.c
        sql/backends/monet5/sql_upgrades.c
        sql/scripts/48_txtsim.sql
        sql/scripts/49_strings.sql
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.32bit
        sql/test/emptydb/Tests/check.stable.out.int128
Branch: Jun2023
Log Message:

Add missing grant stmt for filter functions + upgrade code + approve test.
Add missing MAL def for filter functions, defaults to case sensitive.


diffs (truncated from 1089 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
@@ -50485,45 +50485,75 @@ STRcontains;
 Check if string chaystack contains string needle, icase flag.
 str
 containsjoin
-command str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid] 
+pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid] 
 STRcontainsjoin1;
-The same as STRcontainsjoin, but only produce one output
+The same as STRcontainsjoin, but only produce one output + icase.
 str
 containsjoin
-command str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid], 
X_9:bat[:oid]) 
+pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid] 
+STRcontainsjoin1;
+The same as STRcontainsjoin, but only produce one output.
+str
+containsjoin
+pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid], 
X_9:bat[:oid]) 
+STRcontainsjoin;
+Join the string bat L with the bat R if L contains the string of R@with 
optional candidate lists SL and SR@The result is two aligned bats with oids of 
matching rows + icase.
+str
+containsjoin
+pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) (X_7:bat[:oid], X_8:bat[:oid]) 
 STRcontainsjoin;
 Join the string bat L with the bat R if L contains the string of R@with 
optional candidate lists SL and SR@The result is two aligned bats with oids of 
matching rows.
 str
 containsselect
-command str.containsselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, X_3:bit, 
X_4:bit):bat[:oid] 
+pattern str.containsselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, 
X_3:bit):bat[:oid] 
 STRcontainsselect;
 Select all head values of the first input BAT for which the@tail value 
contains the given needle.
 str
-endsWith
-pattern str.endsWith(X_0:str, X_1:str):bit 
-STRendsWith;
+containsselect
+pattern str.containsselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, X_3:bit, 
X_4:bit):bat[:oid] 
+STRcontainsselect;
+Select all head values of the first input BAT for which the@tail value 
contains the given needle + icase.
+str
+endswith
+pattern str.endswith(X_0:str, X_1:str):bit 
+STRendswith;
 Check if string ends with substring.
 str
-endsWith
-pattern str.endsWith(X_0:str, X_1:str, X_2:bit):bit 
-STRendsWith;
+endswith
+pattern str.endswith(X_0:str, X_1:str, X_2:bit):bit 
+STRendswith;
 Check if string ends with substring, icase flag.
 str
-endsWithjoin
-command str.endsWithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid] 
+endswithjoin
+pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid] 
+STRendswithjoin1;
+The same as STRendswithjoin, but only produce one output + icase.
+str
+endswithjoin
+pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid] 
 STRendswithjoin1;
-The same as STRendswithjoin, but only produce one output
-str
-endsWithjoin
-command str.endsWithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid], 
X_9:bat[:oid]) 
+The same as STRendswithjoin, but only produce one output.
+str
+endswithjoin
+pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid], 
X_9:bat[:oid]) 
+STRendswithjoin;
+Join the string bat L with the suffix bat R@with optional candidate lists SL 
and SR@The result is two aligned bats with oids of matching rows + icase.
+str
+endswithjoin
+pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) (X_7:bat[:oid], X_8:bat[:oid]) 
 STRendswithjoin;
 Join the string bat L with the suffix bat R@with optional candidate lists SL 
and SR@The result is two aligned bats with oids of matching rows.
 str
-endsWithselect
-command str.endsWithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, X_3:bit, 
X_4:bit):bat[:oid] 
+endswithselect
+pattern str.endswithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, 
X_3:bit):bat[:oid] 
 STRendswithselect;
 Select all head values of the first input BAT for which the@tail value end 
with the given suffix.
 str
+endswithselect
+pattern str.endswithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, X_3:bit, 
X_4:bit):bat[:oid] 
+STRendswithselect;
+Select all head values of the first input BAT for which the@tail value end 
with the given suffix + icase.
+str
 epilogue
 command str.epilogue():void 
 STRepilogue;
@@ -50659,31 +50689,46 @@ command str.splitpart(X_0:str, X_1:str, 
 STRsplitpart;
 Split string on delimiter. Returns@given field (counting from one.)
 str
-startsWith
-pattern str.startsWith(X_0:str, X_1:str):bit 
-STRstartsWith;
+startswith
+pattern str.startswith(X_0:str, X_1:str):bit 
+STRstartswith;
 Check if string starts with substring.
 str
-startsWith
-pattern str.startsWith(X_0:str, X_1:str, X_2:bit):bit 
-STRstartsWith;
+startswith
+pattern str.startswith(X_0:str, X_1:str, X_2:bit):bit 
+STRstartswith;
 Check if string starts with substring, icase flag.
 str
-startsWithjoin
-command str.startsWithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid] 
+startswithjoin
+pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid] 
+STRstartswithjoin1;
+The same as STRstartswithjoin, but only produce one output + icase.
+str
+startswithjoin
+pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid] 
 STRstartswithjoin1;
-The same as STRstartswithjoin, but only produce one output
-str
-startsWithjoin
-command str.startsWithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid], 
X_9:bat[:oid]) 
+The same as STRstartswithjoin, but only produce one output.
+str
+startswithjoin
+pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid], 
X_9:bat[:oid]) 
+STRstartswithjoin;
+Join the string bat L with the prefix bat R@with optional candidate lists SL 
and SR@The result is two aligned bats with oids of matching rows + icase.
+str
+startswithjoin
+pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) (X_7:bat[:oid], X_8:bat[:oid]) 
 STRstartswithjoin;
 Join the string bat L with the prefix bat R@with optional candidate lists SL 
and SR@The result is two aligned bats with oids of matching rows.
 str
-startsWithselect
-command str.startsWithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, X_3:bit, 
X_4:bit):bat[:oid] 
+startswithselect
+pattern str.startswithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, 
X_3:bit):bat[:oid] 
 STRstartswithselect;
 Select all head values of the first input BAT for which the@tail value starts 
with the given prefix.
 str
+startswithselect
+pattern str.startswithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, X_3:bit, 
X_4:bit):bat[:oid] 
+STRstartswithselect;
+Select all head values of the first input BAT for which the@tail value starts 
with the given prefix + icase.
+str
 str
 command str.str(X_0:str):str 
 STRtostr;
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
@@ -38810,45 +38810,75 @@ STRcontains;
 Check if string chaystack contains string needle, icase flag.
 str
 containsjoin
-command str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid] 
+pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid] 
 STRcontainsjoin1;
-The same as STRcontainsjoin, but only produce one output
+The same as STRcontainsjoin, but only produce one output + icase.
 str
 containsjoin
-command str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid], 
X_9:bat[:oid]) 
+pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid] 
+STRcontainsjoin1;
+The same as STRcontainsjoin, but only produce one output.
+str
+containsjoin
+pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid], 
X_9:bat[:oid]) 
+STRcontainsjoin;
+Join the string bat L with the bat R if L contains the string of R@with 
optional candidate lists SL and SR@The result is two aligned bats with oids of 
matching rows + icase.
+str
+containsjoin
+pattern str.containsjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) (X_7:bat[:oid], X_8:bat[:oid]) 
 STRcontainsjoin;
 Join the string bat L with the bat R if L contains the string of R@with 
optional candidate lists SL and SR@The result is two aligned bats with oids of 
matching rows.
 str
 containsselect
-command str.containsselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, X_3:bit, 
X_4:bit):bat[:oid] 
+pattern str.containsselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, 
X_3:bit):bat[:oid] 
 STRcontainsselect;
 Select all head values of the first input BAT for which the@tail value 
contains the given needle.
 str
-endsWith
-pattern str.endsWith(X_0:str, X_1:str):bit 
-STRendsWith;
+containsselect
+pattern str.containsselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, X_3:bit, 
X_4:bit):bat[:oid] 
+STRcontainsselect;
+Select all head values of the first input BAT for which the@tail value 
contains the given needle + icase.
+str
+endswith
+pattern str.endswith(X_0:str, X_1:str):bit 
+STRendswith;
 Check if string ends with substring.
 str
-endsWith
-pattern str.endsWith(X_0:str, X_1:str, X_2:bit):bit 
-STRendsWith;
+endswith
+pattern str.endswith(X_0:str, X_1:str, X_2:bit):bit 
+STRendswith;
 Check if string ends with substring, icase flag.
 str
-endsWithjoin
-command str.endsWithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid] 
+endswithjoin
+pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid] 
+STRendswithjoin1;
+The same as STRendswithjoin, but only produce one output + icase.
+str
+endswithjoin
+pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid] 
 STRendswithjoin1;
-The same as STRendswithjoin, but only produce one output
-str
-endsWithjoin
-command str.endsWithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid], 
X_9:bat[:oid]) 
+The same as STRendswithjoin, but only produce one output.
+str
+endswithjoin
+pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid], 
X_9:bat[:oid]) 
+STRendswithjoin;
+Join the string bat L with the suffix bat R@with optional candidate lists SL 
and SR@The result is two aligned bats with oids of matching rows + icase.
+str
+endswithjoin
+pattern str.endswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) (X_7:bat[:oid], X_8:bat[:oid]) 
 STRendswithjoin;
 Join the string bat L with the suffix bat R@with optional candidate lists SL 
and SR@The result is two aligned bats with oids of matching rows.
 str
-endsWithselect
-command str.endsWithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, X_3:bit, 
X_4:bit):bat[:oid] 
+endswithselect
+pattern str.endswithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, 
X_3:bit):bat[:oid] 
 STRendswithselect;
 Select all head values of the first input BAT for which the@tail value end 
with the given suffix.
 str
+endswithselect
+pattern str.endswithselect(X_0:bat[:str], X_1:bat[:oid], X_2:str, X_3:bit, 
X_4:bit):bat[:oid] 
+STRendswithselect;
+Select all head values of the first input BAT for which the@tail value end 
with the given suffix + icase.
+str
 epilogue
 command str.epilogue():void 
 STRepilogue;
@@ -38984,31 +39014,46 @@ command str.splitpart(X_0:str, X_1:str, 
 STRsplitpart;
 Split string on delimiter. Returns@given field (counting from one.)
 str
-startsWith
-pattern str.startsWith(X_0:str, X_1:str):bit 
-STRstartsWith;
+startswith
+pattern str.startswith(X_0:str, X_1:str):bit 
+STRstartswith;
 Check if string starts with substring.
 str
-startsWith
-pattern str.startsWith(X_0:str, X_1:str, X_2:bit):bit 
-STRstartsWith;
+startswith
+pattern str.startswith(X_0:str, X_1:str, X_2:bit):bit 
+STRstartswith;
 Check if string starts with substring, icase flag.
 str
-startsWithjoin
-command str.startsWithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid] 
+startswithjoin
+pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit):bat[:oid] 
+STRstartswithjoin1;
+The same as STRstartswithjoin, but only produce one output + icase.
+str
+startswithjoin
+pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit):bat[:oid] 
 STRstartswithjoin1;
-The same as STRstartswithjoin, but only produce one output
-str
-startsWithjoin
-command str.startsWithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid], 
X_9:bat[:oid]) 
+The same as STRstartswithjoin, but only produce one output.
+str
+startswithjoin
+pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:bit], 
X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng, X_7:bit) (X_8:bat[:oid], 
X_9:bat[:oid]) 
+STRstartswithjoin;
+Join the string bat L with the prefix bat R@with optional candidate lists SL 
and SR@The result is two aligned bats with oids of matching rows + icase.
+str
+startswithjoin
+pattern str.startswithjoin(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:lng, X_6:bit) (X_7:bat[:oid], X_8:bat[:oid]) 
 STRstartswithjoin;
 Join the string bat L with the prefix bat R@with optional candidate lists SL 
and SR@The result is two aligned bats with oids of matching rows.
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to