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 <[email protected]>
+- 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 -- [email protected]
To unsubscribe send an email to [email protected]