Changeset: 81b977053650 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/81b977053650
Branch: default
Log Message:

Merge with Jun2023 branch.


diffs (truncated from 1465 to 300 lines):

diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -1824,7 +1824,7 @@ mergejoin(BAT **r1p, BAT **r2p, BAT *l, 
                lvars = li.vh->base;
                rvars = ri.vh->base;
        } else {
-               assert(ri.vh == NULL);
+               assert(ri.vh == NULL || ri.type == TYPE_void);
                lvars = rvars = NULL;
        }
        /* if the var pointer is not NULL, then so is the val pointer */
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/SQLancer/Tests/sqlancer18.test 
b/sql/test/SQLancer/Tests/sqlancer18.test
--- a/sql/test/SQLancer/Tests/sqlancer18.test
+++ b/sql/test/SQLancer/Tests/sqlancer18.test
@@ -1,3 +1,5 @@
+hash-threshold 1000
+
 statement ok
 START TRANSACTION
 
@@ -256,7 +258,141 @@ 135
 query R rowsort
 SELECT sub0.c2 FROM t2 JOIN (SELECT DISTINCT t2.c2, 3 FROM t2) AS sub0(c2,c3) 
on t2.c2 = sub0.c2
 ----
-135 values hashing to 39898748a4604c294a5bcb3435b482a0
+-0.000
+-1.000
+-1.000
+-1087290368.000
+-1268147100.000
+-1462578700.000
+-170186860000000000.000
+-2044814500.000
+-444399328.000
+-5.000
+-5.370
+-6.000
+-707779136.000
+-8.000
+-809476200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545200.000
+-870545216.000
+-870545216.000
+-870545216.000
+-946846140.000
+0.000
+0.000
+0.000
+0.000
+0.000
+0.002
+0.029
+0.071
+0.104
+0.121
+0.124
+0.126
+0.172
+0.181
+0.185
+0.188
+0.212
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to