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]

Reply via email to