Changeset: d20c215100f4 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/d20c215100f4 Branch: default Log Message:
Merge with Dec2023 branch. diffs (267 lines): diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c --- a/gdk/gdk_join.c +++ b/gdk/gdk_join.c @@ -3669,7 +3669,7 @@ joincost(BAT *r, BUN lcount, struct cand /* only count the cost of creating the hash for * non-persistent bats */ MT_lock_set(&r->theaplock); - if (!(BBP_status(r->batCacheid) & BBPEXISTING) /* || r->theap->dirty */ || GDKinmemory(r->theap->farmid)) + if (r->batRole != PERSISTENT /* || r->theap->dirty */ || GDKinmemory(r->theap->farmid)) rcost += cnt * 2.0; MT_lock_unset(&r->theaplock); #else diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c --- a/gdk/gdk_select.c +++ b/gdk/gdk_select.c @@ -1758,7 +1758,7 @@ BATselect(BAT *b, BAT *s, const void *tl } } } - if (wanthash && !havehash) { + if (wanthash && !havehash && b->batRole != PERSISTENT) { MT_lock_set(&b->theaplock); if (++b->selcnt > 1000) b->selcnt = 1000; /* limit value */ diff --git a/geom/ChangeLog-Archive b/geom/ChangeLog-Archive --- a/geom/ChangeLog-Archive +++ b/geom/ChangeLog-Archive @@ -15,7 +15,7 @@ used in the implementation of the filter functions ST_Intersects and ST_Dwithin for geometric points. - Improves shapefile support by replacing functions SHPattach, - SHPpartialimport, ahd SHPimport with SHPload. + SHPpartialimport, and SHPimport with SHPload. - Introduces functions ST_DistanceGeographic, ST_DwithinGeographic, ST_IntersectsGeographic, ST_CoversGeographic, ST_Collects with geodesic semantics. ST_Transform can be used to convert geodetic into geographic diff --git a/sql/ChangeLog-Archive b/sql/ChangeLog-Archive --- a/sql/ChangeLog-Archive +++ b/sql/ChangeLog-Archive @@ -3,9 +3,9 @@ * Tue Dec 5 2023 Lucas Pereira <lucas.pere...@monetdbsolutions.com> - 11.49.1-20231221 - Introduction of table returning function `persist_unlogged(schema - string, table string)` that attempts to persist data in disk if - "schema"."table" is unlogged table in insert only mode. If persist - attempt is successful, the count of the persisted rows is returned, + string, table string)` that attempts to persist data to disk if the + "schema"."table" is an unlogged table and set to insert only mode. If + persist attempt is successful, the count of persisted rows is returned, otherwise the count is 0. * Thu Aug 24 2023 Martin van Dinther <martin.van.dint...@monetdbsolutions.com> - 11.49.1-20231221 diff --git a/sql/test/BugTracker-2023/Tests/All b/sql/test/BugTracker-2023/Tests/All --- a/sql/test/BugTracker-2023/Tests/All +++ b/sql/test/BugTracker-2023/Tests/All @@ -1,3 +1,5 @@ +ifnull-6933 +HAVE_GEOM?empty-result-aggr-crash-7274 ambiguous-identifiers-7372 temp-table-foreign-key-crash-7378 update-mask-id-crash-7379 @@ -10,6 +12,7 @@ rollback-alter-drop-col-crash-7385 view-on-alias-crash-7386 alter-inc-seq-crash-7387 misc-crashes-7390 +greatest-least-multi-arg-7391 union-query-7401 join-on-row_number-over-7403 between-crash-7413 diff --git a/sql/test/BugTracker-2023/Tests/between-crash-7413.test b/sql/test/BugTracker-2023/Tests/between-crash-7413.test --- a/sql/test/BugTracker-2023/Tests/between-crash-7413.test +++ b/sql/test/BugTracker-2023/Tests/between-crash-7413.test @@ -7,3 +7,6 @@ INSERT INTO v0 (v1) VALUES (NULL) , (3) statement ok DELETE FROM v0 WHERE v1 <= (SELECT 2 AS zero WHERE (v1 BETWEEN 1 AND (SELECT MAX (v1) FROM v0 name)) >= v1) +statement ok +DROP TABLE v0 + diff --git a/sql/test/BugTracker-2023/Tests/empty-result-aggr-crash-7274.test b/sql/test/BugTracker-2023/Tests/empty-result-aggr-crash-7274.test new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2023/Tests/empty-result-aggr-crash-7274.test @@ -0,0 +1,16 @@ +statement ok +START TRANSACTION + +statement ok +CREATE TABLE t7274 ( "id" INTEGER, "g" GEOMETRY ) + +query IT +select id, st_collect(g) as g from t7274 where false group by id +---- + +statement ok +create table t7274b as select id, st_collect(g) as g from t7274 where false group by id + +statement ok +ROLLBACK + diff --git a/sql/test/BugTracker-2023/Tests/greatest-least-multi-arg-7391.test b/sql/test/BugTracker-2023/Tests/greatest-least-multi-arg-7391.test new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2023/Tests/greatest-least-multi-arg-7391.test @@ -0,0 +1,56 @@ +query I +SELECT greatest(3, 4, 2, 1) +---- +4 + +query I +SELECT least(3, 4, 2, 1) +---- +1 + +query I +SELECT greatest(3, 4, '0', '5') +---- +5 + +query I +SELECT least(3, 4, 1, 2, '0', '5') +---- +0 + +query R +SELECT greatest(3.321, 4.4321, '0.210', '5.54321', -6.54321) +---- +5.543 + +query R +SELECT least(3.321, 4.4321, '0.210', '5.54321', -6.54321) +---- +-6.543 + +statement error conversion of string 'A' to type bte failed. +SELECT greatest(3, 4, '0', '5', 'A', 'z') + +statement error conversion of string 'A' to type bte failed. +SELECT least(3, 4, 1, 2, '0', '5', 'A', 'z') + +query T +SELECT greatest('!', 3, 4, '0', '5', 'A', 'z') +---- +z + +query T +SELECT least('!', 3, 4, 1, 2, '0', '5', 'A', 'z') +---- +! + +query T +SELECT greatest('!', 'z3', 'z4', 'z0', 'z5', 'A', 'z') +---- +z5 + +query T +SELECT least('!z3', '!z4', '!0', '!5', 'A', 'z') +---- +!0 + diff --git a/sql/test/BugTracker-2023/Tests/ifnull-6933.test b/sql/test/BugTracker-2023/Tests/ifnull-6933.test new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2023/Tests/ifnull-6933.test @@ -0,0 +1,40 @@ +statement ok +create unlogged table t6933 (i int, c varchar(8)) + +statement ok +insert into t6933 values (1, 'aa1'), (2, null), (null, 'bb2'), (null, null) + +query ITTTIT +select i, c, IFNULL(i, c) as "IFNULL(i,c)", IFNULL(c, i) as "IFNULL(c,i)", ifnull(i, 999) as "ifnull(i,999)", ifnull(c, 'has null') as "ifnull(c,'x')" from t6933 +---- +1 +aa1 +1 +aa1 +1 +aa1 +2 +NULL +2 +2 +2 +has null +NULL +bb2 +bb2 +bb2 +999 +bb2 +NULL +NULL +NULL +NULL +999 +has null + +statement error syntax error, unexpected ',', expecting ')' or OR in: "select i, c, ifnull(i, c," +select i, c, IFNULL(i, c, 999) as "IFNULL(i,c,999)" from t6933 + +statement ok +drop table t6933 + diff --git a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test --- a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test +++ b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test @@ -33,7 +33,7 @@ SELECT * FROM v0 NULL query I -SELECT row_number ( ) OVER ( ORDER BY 10 * 10 , ( CASE WHEN ( 10 IS NULL ) THEN 4 ELSE 10 END ) DESC NULLS FIRST ) FROM v0; +SELECT row_number ( ) OVER ( ORDER BY 10 * 10 , ( CASE WHEN ( 10 IS NULL ) THEN 4 ELSE 10 END ) DESC NULLS FIRST ) FROM v0 ---- 1 @@ -75,7 +75,7 @@ 122500 5 statement ok -DROP TABLE v0; +DROP TABLE v0 -- 05.sql statement ok @@ -173,10 +173,10 @@ DROP TABLE v0 -- 11.sql statement ok -CREATE TABLE v0(v1 BIGINT UNIQUE PRIMARY KEY); +CREATE TABLE v0(v1 BIGINT UNIQUE PRIMARY KEY) statement error 42000!PARTITION BY: subqueries not allowed in PARTITION BY clause -UPDATE v0 SET v1 = v1 * 73 WHERE v1 = (SELECT SUM(v1) OVER (PARTITION BY 52, (NOT EXISTS (SELECT 0 + (SELECT v1 WHERE v1 * v1 * v1 GROUP BY v1) AS v3 WHERE v1 = 'x' OR 'x' OR v1)), v1, 37 ORDER BY v1 NULLS LAST) IS NOT NULL AS v2 GROUP BY v1 HAVING v1 > 'x') AND NOT ((v1 = 66 AND v1 < 'x') AND v1 = 50) AND 35 >= 65; +UPDATE v0 SET v1 = v1 * 73 WHERE v1 = (SELECT SUM(v1) OVER (PARTITION BY 52, (NOT EXISTS (SELECT 0 + (SELECT v1 WHERE v1 * v1 * v1 GROUP BY v1) AS v3 WHERE v1 = 'x' OR 'x' OR v1)), v1, 37 ORDER BY v1 NULLS LAST) IS NOT NULL AS v2 GROUP BY v1 HAVING v1 > 'x') AND NOT ((v1 = 66 AND v1 < 'x') AND v1 = 50) AND 35 >= 65 statement ok DROP TABLE v0 @@ -189,7 +189,7 @@ statement ok INSERT INTO v0 (v1) VALUES (2),(10),(99),(1.100000),(3) statement error 22018!conversion of string to type bte failed. -UPDATE v0 SET v1 = (SELECT MIN(v1) OVER (ROWS 10 PRECEDING) WHERE (10 = v1 OR v1 = ((3 - 10.100000))) AND 3 NOT LIKE v1); +UPDATE v0 SET v1 = (SELECT MIN(v1) OVER (ROWS 10 PRECEDING) WHERE (10 = v1 OR v1 = ((3 - 10.100000))) AND 3 NOT LIKE v1) statement ok DROP TABLE v0 @@ -212,7 +212,7 @@ DROP TABLE v0 -- INSERT INTO v0 VALUES (-1),(NULL),(57),(NULL),(NULL) -- statement ok --- UPDATE v0 SET v1 = v1 % (WITH v0 (v1) AS (SELECT -2147483648 WHERE (v1 < -1 OR v1 = 37 % 127) AND v1 - 85 = 45 AND v1 IS NOT NULL) SELECT DISTINCT -1 FROM v0) + v1; +-- UPDATE v0 SET v1 = v1 % (WITH v0 (v1) AS (SELECT -2147483648 WHERE (v1 < -1 OR v1 = 37 % 127) AND v1 - 85 = 45 AND v1 IS NOT NULL) SELECT DISTINCT -1 FROM v0) + v1 -- statement ok -- DROP TABLE v0 @@ -483,7 +483,7 @@ DROP TABLE v0 -- statement ok -- DROP TABLE v0 --- 39.sq +-- 39.sql statement ok CREATE TABLE v0 (v1 VARCHAR(30)) _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org