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

Reply via email to