Changeset: e7db59216ef9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/e7db59216ef9 Modified Files: gdk/gdk_bbp.c Branch: default Log Message:
merge with jun2023 diffs (truncated from 442 to 300 lines): diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -1484,6 +1484,8 @@ BBPtrim(bool aggressive) if (!aggressive) flag |= BBPHOT; for (bat bid = 1, nbat = (bat) ATOMIC_GET(&BBPsize); bid < nbat; bid++) { + if (GDKexiting()) + return changed; /* don't do this during a (sub)commit */ BBPtmlock(); MT_lock_set(&GDKswapLock(bid)); diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -2421,15 +2421,10 @@ log_cleanup_range(logger *lg, ulng id) static void do_rotate(logger *lg) { - logged_range *cur = lg->current; - logged_range *next = cur->next; + logged_range *next = lg->current->next; if (next) { assert(ATOMIC_GET(&next->refcount) == 1); - lg->current = next; - if (ATOMIC_GET(&cur->refcount) == 1) { - close_stream(cur->output_log); - cur->output_log = NULL; - } + lg->current = lg->current->next; } } @@ -3104,14 +3099,7 @@ log_tflush(logger *lg, ulng file_id, uln } /* else somebody else has flushed our log file */ - if (ATOMIC_DEC(&frange->refcount) == 1) { - rotation_lock(lg); - if (frange != lg->current) { - close_stream(frange->output_log); - frange->output_log = NULL; - } - rotation_unlock(lg); - } + ATOMIC_DEC(&frange->refcount); if (ATOMIC_DEC(&lg->nr_flushers) == 0) { /* I am the last flusher 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,377 @@ +# 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 + _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org