Changeset: 07b395352f5f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/07b395352f5f
Modified Files:
monetdb5/modules/atoms/str.c
sql/test/BugTracker-2024/Tests/7544-startswith-bug.test
Branch: strimps_v3
Log Message:
Use case fold
diffs (133 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
@@ -2105,39 +2105,39 @@ strbat_reverse(BAT *b)
return bn;
}
-static BAT *
-strbat_lower(BAT *b)
-{
- BAT *bn = NULL;
- BATiter bi;
- BUN p, q;
+/* static BAT * */
+/* strbat_lower(BAT *b) */
+/* { */
+/* BAT *bn = NULL; */
+/* BATiter bi; */
+/* BUN p, q; */
- assert(b->ttype == TYPE_str);
+/* assert(b->ttype == TYPE_str); */
- bn = COLnew(b->hseqbase, TYPE_str, BATcount(b), TRANSIENT);
- if (bn == NULL)
- return NULL;
+/* bn = COLnew(b->hseqbase, TYPE_str, BATcount(b), TRANSIENT); */
+/* if (bn == NULL) */
+/* return NULL; */
- bi = bat_iterator(b);
- BATloop(b, p, q) {
- const char *vb = BUNtail(bi, p);
- char *vb_low = NULL;
- if (STRlower(&vb_low, &vb)) {
- bat_iterator_end(&bi);
- BBPreclaim(bn);
- return NULL;
- }
- if (BUNappend(bn, vb_low, false) != GDK_SUCCEED) {
- GDKfree(vb_low);
- bat_iterator_end(&bi);
- BBPreclaim(bn);
- return NULL;
- }
- GDKfree(vb_low);
- }
- bat_iterator_end(&bi);
- return bn;
-}
+/* bi = bat_iterator(b); */
+/* BATloop(b, p, q) { */
+/* const char *vb = BUNtail(bi, p); */
+/* char *vb_low = NULL; */
+/* if (STRlower(&vb_low, &vb)) { */
+/* bat_iterator_end(&bi); */
+/* BBPreclaim(bn); */
+/* return NULL; */
+/* } */
+/* if (BUNappend(bn, vb_low, false) != GDK_SUCCEED) { */
+/* GDKfree(vb_low); */
+/* bat_iterator_end(&bi); */
+/* BBPreclaim(bn); */
+/* return NULL; */
+/* } */
+/* GDKfree(vb_low); */
+/* } */
+/* bat_iterator_end(&bi); */
+/* return bn; */
+/* } */
#define NESTED_LOOP_STRJOIN(STR_CMP)
\
do {
\
@@ -2790,7 +2790,7 @@ STRjoin(MalStkPtr stk, InstrPtr pci, con
} else {
if (icase) {
BAT *l_low = NULL, *r_low = NULL;
- if (!(l_low = strbat_lower(l)) || !(r_low =
strbat_lower(r))) {
+ if (!(l_low = BATcasefold(l, NULL)) || !(r_low =
BATcasefold(r, NULL))) {
BBPreclaim_n(5, l, r, cl, cr, l_low);
throw(MAL, fname, "Failed string lowering input
bats");
}
diff --git a/sql/test/BugTracker-2024/Tests/7544-startswith-bug.test
b/sql/test/BugTracker-2024/Tests/7544-startswith-bug.test
--- a/sql/test/BugTracker-2024/Tests/7544-startswith-bug.test
+++ b/sql/test/BugTracker-2024/Tests/7544-startswith-bug.test
@@ -24,14 +24,8 @@ SELECT STARTSWITH(t0.c0, 'a', t1.c1) FRO
1
1
--- GDK reported error: BATproject2: does not match always
-query TI nosort
+statement error HY009!Invalid case ignore. Single value expected
SELECT * FROM t0, t1 WHERE STARTSWITH(t0.c0, 'a', t1.c1)
-----
-a
-1
-a
-1
query I nosort
SELECT ENDSWITH(t0.c0, 'a', t1.c1) FROM t0, t1
@@ -39,14 +33,9 @@ SELECT ENDSWITH(t0.c0, 'a', t1.c1) FROM
1
1
--- GDK reported error: BATproject2: does not match always
-query TI nosort
+statement error HY009!Invalid case ignore. Single value expected
SELECT * FROM t0, t1 WHERE ENDSWITH(t0.c0, 'a', t1.c1)
----
-a
-1
-a
-1
query I nosort
SELECT CONTAINS(t0.c0, 'a', t1.c1) FROM t0, t1
@@ -54,14 +43,8 @@ SELECT CONTAINS(t0.c0, 'a', t1.c1) FROM
1
1
--- GDK reported error: BATproject2: does not match always
-query TI nosort
+statement error HY009!Invalid case ignore. Single value expected
SELECT * FROM t0, t1 WHERE CONTAINS(t0.c0, 'a', t1.c1)
-----
-a
-1
-a
-1
statement ok
DROP TABLE t0
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]