Changeset: 689109944f30 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/689109944f30 Added Files: sql/test/sys-schema/Tests/webExamplesStringFunctions.test Modified Files: sql/test/sys-schema/Tests/All Branch: Jun2023 Log Message:
Add test for web examples listed on https://www.monetdb.org/documentation-Jun2023/user-guide/sql-functions/string-functions/ diffs (truncated from 383 to 300 lines): diff --git a/sql/test/sys-schema/Tests/All b/sql/test/sys-schema/Tests/All --- a/sql/test/sys-schema/Tests/All +++ b/sql/test/sys-schema/Tests/All @@ -16,6 +16,7 @@ webExamplesComparisonFunctionsOperators webExamplesCastFunctionsOperators webExamplesMathematicalFunctionsOperators webExamplesDateTimeFunctionsOperators +webExamplesStringFunctions webExamplesUrlFunctions utilities diff --git a/sql/test/sys-schema/Tests/webExamplesStringFunctions.test b/sql/test/sys-schema/Tests/webExamplesStringFunctions.test new file mode 100644 --- /dev/null +++ b/sql/test/sys-schema/Tests/webExamplesStringFunctions.test @@ -0,0 +1,367 @@ +# These apply to MonetDB SQL character string types: character, character varying, varchar, clob and subtypes: json and url. +# In MonetDB all character strings are **UTF-8** encoded. + +query T +select 'Monet'||'DB' +---- +MonetDB + +query T +select 'Value: '||42 +---- +Value: 42 + +query T +select ascii(R'€') +---- +8364 + +query T +select asciify(R'a € sign') +---- +a EUR sign + +query I +select char_length(R'2€') +---- +2 + +query I +select character_length(R'2€') +---- +2 + +query I +select charindex('gh', 'highigh') +---- +3 + +query I +select charindex('gh', 'highigh', 4) +---- +6 + +query T +select code(223) +---- +@ + +# expected "ß" + +query T +select concat('Front ', 242) +---- +Front 242 + +query I +select contains('abcd', 'bc') +---- +1 + +query I +select contains('abcd', 'BC', true) +---- +1 + +query I +select endswith('abc', 'bc') +---- +1 + +query I +select endswith('abc', 'BC', true) +---- +1 + +query T +select greatest('ab', 'ac') +---- +ac + +query T +select insert('abcdef', 2, 1, 'XY') +---- +abXYdef + +query T +select lcase('MonetDB') +---- +monetdb + +query T +select least('ab', 'ac') +---- +ab + +query T +select left('MonetDB', 3) +---- +Mon + +query I +select length('2€') +---- +2 + +query I +select locate('DB', 'MonetDB') +---- +6 + +query I +select locate('DB', 'DBMonetDB', 3) +---- +8 + +query T +select lower('MonetDB') +---- +monetdb + +query T +select lpad('abc', 6) +---- + abc + +query T +select lpad('abc', 6, 'DB') +---- +DBDabc + +query T +select ltrim(E' \t\fab \tdf ') +---- +ab @df + +query T +select ltrim('aabcdaa', 'a') +---- +bcdaa + +query T +select sys.md5('abc') +---- +900150983cd24fb0d6963f7d28e17f72 + +query T +select sys.ms_stuff('abcdef', 2, 1, 'XY') +---- +aXYcdef + +query I +select octet_length(R'2€') +---- +4 + +query I +select patindex('%bc%', 'abcd') +---- +3 + +query I +select position('DB' IN 'MonetDB') +---- +6 + +query T +select repeat('kiss,', 3) +---- +kiss,kiss,kiss, + +query T +select replace('abc', 'b', 'X') +---- +aXc + +query T +select right('MonetDB', 4) +---- +etDB + +query T +select rpad('abc', 6) || 'End' +---- +abc End + +query T +select rpad('abc', 6, 'DB') +---- +abcDBD + +query T +select rtrim(E'ab df \t\n') +---- +ab df + +query T +select rtrim('aabcdaa', 'a') +---- +aabcd + +query T +select 's' || space(4) || 'e' +---- +s e + +query T +select splitpart('a|a|bc|cd', '|', 3) +---- +bc + +query T +select sql_max('ab', 'ac') +---- +ac + +query T +select sql_min('ab', 'ac') +---- +ab + +query I +select startswith('bcd', 'bc') +---- +1 + +query I +select startswith('bcd', 'BC', true) +---- +1 + +query T +select substr('abCde', 3) +---- +Cde + +query T +select substr('abCde', 2, 3) +---- +bCd + +query T +select substring('abcde', 3) +---- +cde + +query T +select substring('abcde', 2, 2) +---- +bc + +query T +select trim(E' \t\fab df \t\n') +---- +ab df + +query T +select trim('aabcdaa', 'a') +---- +bcd + +query T +select "truncate"('Truncate', 4) +---- +Trun + +query T +select ucase('MonetDB') +---- +MONETDB + +query T +select upper('MonetDB') +---- +MONETDB + +# Text analysis functions + +query I +select contains('abcd', 'bc') +---- +1 + +query I +select contains('abcd', 'BC', true) _______________________________________________ checkin-list mailing list -- [email protected] To unsubscribe send an email to [email protected]
