Changeset: d8a09b4936ea for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/d8a09b4936ea Modified Files: gdk/gdk_join.c monetdb5/modules/mal/tablet.c sql/test/sys-schema/Tests/webExamplesCastFunctionsOperators.test tools/merovingian/client/monetdb.1 tools/merovingian/client/monetdb.c tools/merovingian/daemon/merovingian.c Branch: Jun2023 Log Message:
Merge with Sep2022 branch. diffs (truncated from 668 to 300 lines): diff --git a/monetdb5/ChangeLog.Sep2022 b/monetdb5/ChangeLog.Sep2022 --- a/monetdb5/ChangeLog.Sep2022 +++ b/monetdb5/ChangeLog.Sep2022 @@ -1,3 +1,9 @@ # ChangeLog file for MonetDB5 # This file is updated with Maddlog +* Tue May 23 2023 Sjoerd Mullender <sjo...@acm.org> +- There is now a new option --set tablet_threads=N to limit the number + of threads used for a COPY INTO from CSV file query. This option can + also be set for a specific database using the monetdb command using + the ncopyintothreads property. + diff --git a/monetdb5/modules/mal/tablet.c b/monetdb5/modules/mal/tablet.c --- a/monetdb5/modules/mal/tablet.c +++ b/monetdb5/modules/mal/tablet.c @@ -1520,10 +1520,18 @@ SQLload_file(Client cntxt, Tablet *as, b BUN i, attr; READERtask task; READERtask ptask[MAXWORKERS]; - int threads = (maxrow< 0 || maxrow > (1 << 16)) && GDKnr_threads > 1 ? (GDKnr_threads < MAXWORKERS ? GDKnr_threads - 1 : MAXWORKERS - 1) : 1; + int threads = 1; lng tio, t1 = 0; char name[MT_NAME_LEN]; + if (maxrow < 0 || maxrow > (LL_CONSTANT(1) << 16)) { + threads = GDKgetenv_int("tablet_threads", GDKnr_threads); + if (threads > 1) + threads = threads < MAXWORKERS ? threads - 1 : MAXWORKERS - 1; + else + threads = 1; + } + /* TRC_DEBUG(MAL_SERVER, "Prepare copy work for '%d' threads col '%s' rec '%s' quot '%c'\n", threads, csep, rsep, quote);*/ memset(ptask, 0, sizeof(ptask)); diff --git a/sql/test/BugTracker-2011/Tests/time_precision.Bug-2873.test b/sql/test/BugTracker-2011/Tests/time_precision.Bug-2873.test --- a/sql/test/BugTracker-2011/Tests/time_precision.Bug-2873.test +++ b/sql/test/BugTracker-2011/Tests/time_precision.Bug-2873.test @@ -27,7 +27,7 @@ 0:00:00 query T rowsort select time(5) '20:04:04.947' - time(5) '20:04:04.847' ---- -0:00:00 +0:00:00.100000 statement ok drop table t diff --git a/sql/test/BugTracker-2014/Tests/aggregates-intervals.Bug-3533.test b/sql/test/BugTracker-2014/Tests/aggregates-intervals.Bug-3533.test --- a/sql/test/BugTracker-2014/Tests/aggregates-intervals.Bug-3533.test +++ b/sql/test/BugTracker-2014/Tests/aggregates-intervals.Bug-3533.test @@ -9,7 +9,7 @@ SELECT count(f1), sum(f1), avg(f1), medi ---- 4 0:00:10 -0:00:02 +0:00:02.500000 0:00:02 0:00:04 0:00:01 diff --git a/sql/test/BugTracker-2015/Tests/div_zero.Bug-3742.test b/sql/test/BugTracker-2015/Tests/div_zero.Bug-3742.test --- a/sql/test/BugTracker-2015/Tests/div_zero.Bug-3742.test +++ b/sql/test/BugTracker-2015/Tests/div_zero.Bug-3742.test @@ -10,8 +10,8 @@ insert into t values ('2015-03-01 00:04: query T rowsort SELECT count(*) * ((max("end")-min("start")) / 60) FROM t GROUP BY s HAVING max("end")-min("start")<> interval '0' second ---- --1 day, 23:59:42 --1 day, 23:59:42 +-1 day, 23:59:41.998000 +-1 day, 23:59:41.998000 statement ok drop table t diff --git a/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.test b/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.test --- a/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.test +++ b/sql/test/BugTracker-2020/Tests/interval-math.Bug-6935.test @@ -52,7 +52,7 @@ 1 query T rowsort SELECT INTERVAL '1' SECOND * 1.2 ---- -0:00:01 +0:00:01.200000 query T rowsort SELECT INTERVAL '2' MONTH / -1.4 @@ -68,7 +68,7 @@ SELECT INTERVAL '3' MONTH * INTERVAL '3' query T rowsort select mya + interval '2' second from (select interval '3' second * 1.2) as mya(mya) ---- -0:00:05 +0:00:05.600000 statement error SELECT 1 / INTERVAL '2' MONTH @@ -91,12 +91,12 @@ 1 query T rowsort SELECT INTERVAL '1' SECOND * cast(2.44 as double) ---- -0:00:02 +0:00:02.440000 query T rowsort SELECT INTERVAL '5' SECOND * cast(2.29 as real) ---- -0:00:11 +0:00:11.450000 query T rowsort SELECT INTERVAL '5' SECOND * cast(1.0 as double) @@ -111,7 +111,7 @@ 13 query T rowsort SELECT cast(3.1 as real) * INTERVAL '3' SECOND ---- -0:00:09 +0:00:09.300000 query T rowsort SELECT INTERVAL '1' MONTH / cast(2.0 as double) @@ -146,12 +146,12 @@ 108 query T rowsort SELECT INTERVAL '1' SECOND / cast(2.0 as double) ---- -0:00:00 +0:00:00.500000 query T rowsort SELECT INTERVAL '5' SECOND / cast(1.5 as double) ---- -0:00:03 +0:00:03.333000 query T rowsort SELECT INTERVAL '5' SECOND / cast(1.0 as double) @@ -166,22 +166,22 @@ SELECT INTERVAL '-100' DAY / cast(23.34 query T rowsort SELECT INTERVAL '32' MINUTE / cast(45.5677 as real) ---- -0:00:42 +0:00:42.135000 query T rowsort SELECT INTERVAL '67' MINUTE / cast(1.57 as real) ---- -0:42:40 +0:42:40.509000 query T rowsort SELECT INTERVAL '-10.34' SECOND / cast(-1.8 as real) ---- -0:00:05 +0:00:05.744000 query T rowsort SELECT INTERVAL '-10.34' SECOND / -1.8 ---- -0:00:05 +0:00:05.740000 statement error SELECT INTERVAL '42' DAY / cast(0 as real) @@ -228,10 +228,10 @@ SELECT x, y, x / y from (values(interval 8 days, 0:00:00 -56 days, 0:00:00 1.100 --51 days, 2:10:55 +-51 days, 2:10:54.550000 -56 days, 0:00:00 3.400 --17 days, 12:42:22 +-17 days, 12:42:21.180000 0:00:00 -7.000 0:00:00 @@ -243,13 +243,13 @@ 3.400 0:00:00 1:07:00 -7.000 --1 day, 23:50:26 +-1 day, 23:50:25.720000 1:07:00 1.100 -1:00:54 +1:00:54.540000 1:07:00 3.400 -0:19:42 +0:19:42.350000 query TRT rowsort SELECT x, y, x * y from (values(interval '0' month),(interval '-3' month),(interval '6' month)) as x(x), (values(cast(1.1 as double)),(cast(3.4 as real)),(cast(-7 as double))) as y(y) @@ -290,10 +290,10 @@ SELECT x, y, x / y from (values(interval 8 days, 0:00:00 -56 days, 0:00:00 1.100 --51 days, 2:10:55 +-51 days, 2:10:54.545000 -56 days, 0:00:00 3.400 --17 days, 12:42:22 +-17 days, 12:42:21.216000 0:00:00 -7.000 0:00:00 @@ -305,13 +305,13 @@ 3.400 0:00:00 1:07:00 -7.000 --1 day, 23:50:26 +-1 day, 23:50:25.714000 1:07:00 1.100 -1:00:54 +1:00:54.545000 1:07:00 3.400 -0:19:42 +0:19:42.353000 query T rowsort SELECT INTERVAL '1' MONTH / cast(NULL as real) diff --git a/sql/test/analytics/Tests/analytics19.test b/sql/test/analytics/Tests/analytics19.test --- a/sql/test/analytics/Tests/analytics19.test +++ b/sql/test/analytics/Tests/analytics19.test @@ -18,39 +18,39 @@ select avg(aa) over (partition by bb), 0:00:03 0:00:03 0:00:03 -0:00:05 +0:00:05.750000 0:00:03 0:00:03 0:00:03 -0:00:05 +0:00:05.750000 0:00:03 0:00:03 0:00:03 -0:00:05 -0:00:05 -0:00:05 -0:00:05 -0:00:07 -0:00:05 -0:00:05 -0:00:05 -0:00:07 -0:00:05 -0:00:05 -0:00:05 -0:00:07 -0:00:08 -0:00:08 -0:00:08 -0:00:08 -0:00:08 -0:00:08 -0:00:08 -0:00:08 -0:00:08 -0:00:08 -0:00:08 -0:00:08 +0:00:05.750000 +0:00:05.500000 +0:00:05.500000 +0:00:05.500000 +0:00:07.400000 +0:00:05.500000 +0:00:05.500000 +0:00:05.500000 +0:00:07.400000 +0:00:05.500000 +0:00:05.500000 +0:00:05.500000 +0:00:07.400000 +0:00:08.667000 +0:00:08.667000 +0:00:08.667000 +0:00:08.667000 +0:00:08.667000 +0:00:08.667000 +0:00:08.667000 +0:00:08.667000 +0:00:08.667000 +0:00:08.667000 +0:00:08.667000 +0:00:08.667000 NULL NULL NULL @@ -112,31 +112,31 @@ select avg(aa) over (partition by aa), 0:00:02 0:00:02 0:00:02 -0:00:05 +0:00:05.750000 0:00:03 0:00:03 0:00:03 _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org