Changeset: 8b86b26d5058 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/8b86b26d5058 Modified Files: gdk/gdk_calc_addsub.c Branch: default Log Message:
merged with Dec2023 diffs (176 lines): diff --git a/gdk/gdk_calc_addsub.c b/gdk/gdk_calc_addsub.c --- a/gdk/gdk_calc_addsub.c +++ b/gdk/gdk_calc_addsub.c @@ -1590,9 +1590,9 @@ BATcalcaddcst(BAT *b, const ValRecord *v /* if the input is sorted, and no overflow occurred, the result * is also sorted */ - bn->tsorted = (bi.sorted && nils == 0) || + bn->tsorted = (bi.sorted && nils == 0 && bi.type != TYPE_str) || ci.ncand <= 1 || nils == ci.ncand; - bn->trevsorted = (bi.revsorted && nils == 0) || + bn->trevsorted = (bi.revsorted && nils == 0 && bi.type != TYPE_str) || ci.ncand <= 1 || nils == ci.ncand; bn->tkey = ci.ncand <= 1; bn->tnil = nils != 0; diff --git a/sql/test/BugTracker-2024/Tests/All b/sql/test/BugTracker-2024/Tests/All --- a/sql/test/BugTracker-2024/Tests/All +++ b/sql/test/BugTracker-2024/Tests/All @@ -21,3 +21,4 @@ where-cond-issue-7448 function_return_issue where_null-7450 between-boolean-7451 +concat_order-7455 diff --git a/sql/test/BugTracker-2024/Tests/between-boolean-7451.test b/sql/test/BugTracker-2024/Tests/between-boolean-7451.test new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2024/Tests/between-boolean-7451.test @@ -0,0 +1,47 @@ + +statement ok +CREATE TABLE t0(c0 VARCHAR, PRIMARY KEY(c0)) + +statement ok +CREATE TABLE t1(c1 INTEGER, c2 VARCHAR(500)) + +statement ok +INSERT INTO t0 ( c0) VALUES ('a') + +statement ok +INSERT INTO t0 (c0) VALUES (false) + +statement ok +INSERT INTO t1 ( c1) VALUES (0) + +query IT +SELECT t1.c1, t1.c2 FROM t1, t0 +---- +0 +NULL +0 +NULL + +query T +SELECT (NOT CAST((true BETWEEN t1.c2 AND t0.c0) AS VARCHAR)) FROM t1, t0 +---- +True +True + +query IT +SELECT t1.c1, t1.c2 FROM t1, t0 WHERE (NOT CAST((true BETWEEN t1.c2 AND t0.c0) AS VARCHAR)); +---- +0 +NULL +0 +NULL + +query ITT +SELECT * FROM t1, t0 WHERE (NOT CAST((true BETWEEN t1.c2 AND t0.c0) AS VARCHAR)); -- 2 rows +---- +0 +NULL +a +0 +NULL +false diff --git a/sql/test/BugTracker-2024/Tests/concat_order-7455.test b/sql/test/BugTracker-2024/Tests/concat_order-7455.test new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2024/Tests/concat_order-7455.test @@ -0,0 +1,71 @@ +statement ok +CREATE TABLE t0(c0 VARCHAR, c1 VARCHAR(500)) + +statement ok +CREATE VIEW v0(c0) AS SELECT true FROM t0 + +statement ok +INSERT INTO t0 (c0, c1) VALUES ('', 0) + +statement ok +INSERT INTO t0 (c0) VALUES ('a') + +statement ok +INSERT INTO t0 (c0) VALUES ('b') + +query TTT +SELECT * FROM v0, t0 +---- +True +(empty) +0 +True +a +NULL +True +b +NULL +True +(empty) +0 +True +a +NULL +True +b +NULL +True +(empty) +0 +True +a +NULL +True +b +NULL + +query T +SELECT (t0.c0||true BETWEEN v0.c0 AND v0.c0) FROM v0, t0 +---- +True +False +False +True +False +False +True +False +False + +query TTT +SELECT * FROM v0, t0 WHERE (t0.c0||true BETWEEN v0.c0 AND v0.c0); +---- +True +(empty) +0 +True +(empty) +0 +True +(empty) +0 diff --git a/sql/test/BugTracker-2024/Tests/where_null-7450.test b/sql/test/BugTracker-2024/Tests/where_null-7450.test new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2024/Tests/where_null-7450.test @@ -0,0 +1,20 @@ +statement ok +CREATE TABLE t0(c0 INT); + +statement ok +INSERT INTO t0 ( c0) VALUES (false); + +statement ok +CREATE VIEW v0(c0) AS SELECT true FROM t0 WHERE NULL GROUP BY t0.c0, true; + +query I +SELECT * FROM v0; +---- + +query I +SELECT * FROM v0 WHERE true; +---- + +query I +SELECT * FROM v0 WHERE true UNION ALL SELECT * FROM v0 WHERE (NOT true); +---- _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org