Changeset: ff759944d28b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ff759944d28b
Modified Files:
        sql/server/rel_select.c
        sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
Branch: Dec2023
Log Message:

Merge with Jun2023 branch.


diffs (172 lines):

diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -5255,7 +5255,7 @@ rel_rankop(sql_query *query, sql_rel **r
                if (frame_type == FRAME_RANGE)
                        ie = obe ? (sql_exp*) obe->t->data : in;
                else
-                       ie = oe;
+                       ie = obe ? oe : in;
        }
        assert(oe && pe);
 
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
@@ -182,19 +182,19 @@ statement ok
 DROP TABLE v0
 
 -- 12.sql
--- statement ok
--- CREATE TABLE v0 (v1 VARCHAR(255) NULL)
+statement ok
+CREATE TABLE v0 (v1 VARCHAR(255) NULL)
 
--- statement ok
--- INSERT INTO v0 (v1) VALUES (2),(10),(99),(1.100000),(3)
+statement ok
+INSERT INTO v0 (v1) VALUES (2),(10),(99),(1.100000),(3)
 
--- statement ok
--- 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 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);
 
--- statement ok
--- DROP TABLE v0
+statement ok
+DROP TABLE v0
 
--- -- 13.sql
+-- 13.sql
 -- statement ok
 -- CREATE TABLE v0 (v1 SMALLINT)
 
@@ -228,19 +228,19 @@ DROP TABLE v0
 -- DROP TABLE v0
 
 -- -- 16.sql
--- statement ok
--- CREATE TABLE v0(v1 FLOAT)
+statement ok
+CREATE TABLE v0(v1 FLOAT)
 
--- statement ok
--- INSERT INTO v0 VALUES (82),((SELECT 0 FROM v0 AS v2 GROUP BY (SELECT 
-128))),(15255709.000000),(12)
+statement ok
+INSERT INTO v0 VALUES (82),((SELECT 0 FROM v0 AS v2 GROUP BY (SELECT 
-128))),(15255709.000000),(12)
 
--- statement ok
--- SELECT v1 = 2147483647 - v1 ^ v1 AS v4 FROM v0 AS v3, v0, v0 AS v6,v0 AS 
v5, v0 AS v7 ORDER BY 35 >= (SELECT VAR_SAMP(v1 >= 72 ) OVER (ROWS BETWEEN v1 + 
-128 * -32768 PRECEDING AND CURRENT ROW) IS NOT NULL) ASC
+statement error 42000!row frame bound must be non negative and non null.
+SELECT v1 = 2147483647 - v1 ^ v1 AS v4 FROM v0 AS v3, v0, v0 AS v6,v0 AS v5, 
v0 AS v7 ORDER BY 35 >= (SELECT VAR_SAMP(v1 >= 72 ) OVER (ROWS BETWEEN v1 + 
-128 * -32768 PRECEDING AND CURRENT ROW) IS NOT NULL) ASC
 
--- statement ok
--- DROP TABLE v0
+statement ok
+DROP TABLE v0
 
--- -- 17.sql
+-- 17.sql
 -- statement ok
 -- CREATE TABLE v0(v1 INT)
 
@@ -260,21 +260,21 @@ DROP TABLE v0
 -- statement ok
 -- DROP TABLE v0
 
--- -- 19.sql
--- statement ok
--- CREATE TABLE v0(v1 BIGINT)
+-- 19.sql
+statement ok
+CREATE TABLE v0(v1 BIGINT)
 
--- statement ok
--- INSERT INTO v0 VALUES (16),(22),(-128),(60),(76),(127),(89)
+statement ok
+INSERT INTO v0 VALUES (16),(22),(-128),(60),(76),(127),(89)
 
--- statement ok
--- WITH v0 AS (SELECT -1, * FROM v0) INSERT INTO v0 SELECT v1 * 255 FROM v0 AS 
v5, v0, v0 AS v4, v0 AS v3, v0 AS v2 ORDER BY v1 * -128 ^ -1
+statement ok
+WITH v0 AS (SELECT -1, * FROM v0) INSERT INTO v0 SELECT v1 * 255 FROM v0 AS 
v5, v0, v0 AS v4, v0 AS v3, v0 AS v2 ORDER BY v1 * -128 ^ -1
 
--- statement ok
--- UPDATE v0 SET v1 = 59 % v1 WHERE (WITH v0 (v1) AS (SELECT ('x' + 95) ORDER 
BY - (v1), v1) SELECT STDDEV_POP(v1) OVER (ROWS BETWEEN v1 IS NOT NULL 
PRECEDING AND 89 FOLLOWING) IS NOT NULL) + 0 % v1 % 46 + 45 * v1
+statement ok
+UPDATE v0 SET v1 = 59 % v1 WHERE (WITH v0 (v1) AS (SELECT ('x' + 95) ORDER BY 
- (v1), v1) SELECT STDDEV_POP(v1) OVER (ROWS BETWEEN v1 IS NOT NULL PRECEDING 
AND 89 FOLLOWING) IS NOT NULL) + 0 % v1 % 46 + 45 * v1
 
--- statement ok
--- DROP TABLE v0
+statement ok
+DROP TABLE v0
 
 -- -- 20.sql
 -- statement ok
@@ -286,21 +286,21 @@ DROP TABLE v0
 -- statement ok
 -- DROP TABLE v0
 
--- -- 21.sql
--- statement ok
--- CREATE TABLE v0(v1 BIGINT)
+-- 21.sql
+statement ok
+CREATE TABLE v0(v1 BIGINT)
 
--- statement ok
--- INSERT INTO v0 VALUES (13),(53),(-1),(13),(54),((SELECT v1 FROM v0 WHERE v1 
IS NULL AND v1 IN (7 ^ v1))),(72),(2147483647)
+statement ok
+INSERT INTO v0 VALUES (13),(53),(-1),(13),(54),((SELECT v1 FROM v0 WHERE v1 IS 
NULL AND v1 IN (7 ^ v1))),(72),(2147483647)
 
--- statement ok
--- WITH v0 AS (SELECT 2147483647, * FROM v0) INSERT INTO v0 SELECT v1 * -32768 
FROM v0 AS v2,v0,v0 AS v5,v0 AS v3,v0 AS v4 ORDER BY v1 * 127 ^ -1
+statement ok
+WITH v0 AS (SELECT 2147483647, * FROM v0) INSERT INTO v0 SELECT v1 * -32768 
FROM v0 AS v2,v0,v0 AS v5,v0 AS v3,v0 AS v4 ORDER BY v1 * 127 ^ -1
 
--- statement ok
--- UPDATE v0 SET v1 = -128 % v1 WHERE (WITH v0 (v1) AS (SELECT 8 WHERE (v1 < 
-1 OR v1 > 40) AND 80 ^ 0 % v1 <= 75 = 127 AND v1 IS NOT NULL) SELECT 
VAR_POP((52 * (v1 IN (127,47)))) OVER (ROWS BETWEEN CURRENT ROW AND v1 - NULL 
FOLLOWING) * -32768) > v1
+statement error 42000!row frame bound must be non negative and non null.
+UPDATE v0 SET v1 = -128 % v1 WHERE (WITH v0 (v1) AS (SELECT 8 WHERE (v1 < -1 
OR v1 > 40) AND 80 ^ 0 % v1 <= 75 = 127 AND v1 IS NOT NULL) SELECT VAR_POP((52 
* (v1 IN (127,47)))) OVER (ROWS BETWEEN CURRENT ROW AND v1 - NULL FOLLOWING) * 
-32768) > v1
 
--- statement ok
--- DROP TABLE v0
+statement ok
+DROP TABLE v0
 
 -- 22.sql
 statement ok
@@ -348,21 +348,21 @@ DROP TABLE v0
 -- statement ok
 -- DROP TABLE v0
 
--- -- 26.sql
--- statement ok
--- CREATE TABLE v0(v1 BIGINT NOT NULL)
+-- 26.sql
+statement ok
+CREATE TABLE v0(v1 BIGINT NOT NULL)
 
--- statement ok
--- INSERT INTO v0 VALUES (-1),(127),(4),(-128),(11),(-1),(-128),(-128),(-1)
+statement ok
+INSERT INTO v0 VALUES (-1),(127),(4),(-128),(11),(-1),(-128),(-128),(-1)
 
--- statement ok
--- WITH v0 AS (SELECT -1, * FROM v0) INSERT INTO v0 SELECT v1 * 29 FROM v0 AS 
v3, v0, v0 AS v2, v0 AS v4, v0 ORDER BY v1 * 0 ^ 83
+statement ok
+WITH v0 AS (SELECT -1, * FROM v0) INSERT INTO v0 SELECT v1 * 29 FROM v0 AS v3, 
v0, v0 AS v2, v0 AS v4, v0 ORDER BY v1 * 0 ^ 83
 
--- statement ok
--- UPDATE v0 SET v1 = -1 WHERE CASE WHEN v1 > -1 THEN (SELECT STDDEV_SAMP((18 
* v1 + (v1 IN (21 , -1)))) OVER (ROWS BETWEEN CURRENT ROW AND v1 - NULL 
FOLLOWING) * 17) > v1 / (SELECT -1 WHERE (88 IN (96))) ELSE 82 END ^ -128 ^ v1
+statement error 42000!row frame bound must be non negative and non null.
+UPDATE v0 SET v1 = -1 WHERE CASE WHEN v1 > -1 THEN (SELECT STDDEV_SAMP((18 * 
v1 + (v1 IN (21 , -1)))) OVER (ROWS BETWEEN CURRENT ROW AND v1 - NULL 
FOLLOWING) * 17) > v1 / (SELECT -1 WHERE (88 IN (96))) ELSE 82 END ^ -128 ^ v1
 
--- statement ok
--- DROP TABLE v0
+statement ok
+DROP TABLE v0
 
 -- -- 27.sql
 -- statement ok
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to