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

Reply via email to