Changeset: 83ec09dc7d45 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/83ec09dc7d45
Added Files:
sql/test/BugTracker-2024/Tests/7556-missing-ignore-case.test
Modified Files:
monetdb5/modules/atoms/str.c
sql/test/BugTracker-2024/Tests/All
Branch: Aug2024
Log Message:
added test for bug #7556
fixed #7556, don't assert but give errors.
diffs (46 lines):
diff --git a/monetdb5/modules/atoms/str.c b/monetdb5/modules/atoms/str.c
--- a/monetdb5/modules/atoms/str.c
+++ b/monetdb5/modules/atoms/str.c
@@ -2875,7 +2875,14 @@ ignorecase(const bat *ic_id, bool *icase
if ((c = BATdescriptor(*ic_id)) == NULL)
throw(MAL, fname, SQLSTATE(HY002) RUNTIME_OBJECT_MISSING);
- assert(BATcount(c) >= 1);
+ if (BATcount(c) != 1) {
+ BUN cnt = BATcount(c);
+ BBPreclaim(c);
+ if (cnt == 0)
+ throw(MAL, fname, SQLSTATE(42000) "Missing ignore case
value\n");
+ else
+ throw(MAL, fname, SQLSTATE(42000) "Multiple ignore case
values passed, only one expected\n");
+ }
BATiter bi = bat_iterator(c);
*icase = *(bit *) BUNtloc(bi, 0);
diff --git a/sql/test/BugTracker-2024/Tests/7556-missing-ignore-case.test
b/sql/test/BugTracker-2024/Tests/7556-missing-ignore-case.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2024/Tests/7556-missing-ignore-case.test
@@ -0,0 +1,14 @@
+statement ok
+CREATE TABLE t0 ( c1 INTEGER )
+
+statement ok
+CREATE VIEW v0(c0) AS SELECT NOT('a') FROM t0 ORDER BY (1)
+
+statement error
+SELECT v0.c0 FROM v0, t0 WHERE (STARTSWITH(t0.c1, v0.c0, v0.c0))
+
+statement ok
+DROP VIEW v0
+
+statement ok
+DROP TABLE t0
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
@@ -80,3 +80,4 @@ 7553-join-on-startswith-crash
7045-do-not-push-down-converts
7554-incorrect-result-between
7555-incorrect-semijoin-rewrite
+7556-missing-ignore-case
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]