Changeset: 4a7dd9f5f847 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4a7dd9f5f847
Modified Files:
        clients/Tests/MAL-signatures_all.stable.out
        clients/Tests/MAL-signatures_fits_geom.stable.out
        clients/Tests/MAL-signatures_geom.stable.out
        clients/Tests/MAL-signatures_none.stable.out
        clients/Tests/exports.stable.out
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/pcre.mal
Branch: Oct2014
Log Message:

Cleanup of pcre module.
pcre.{i,}likesubselect is not generated, so can be removed.
algebra.{i,}likesubselect is used, so the implementation cannot be
removed.
Internally, these functions use a form of uselect, so the select
variant was removed.


diffs (truncated from 394 to 300 lines):

diff --git a/clients/Tests/MAL-signatures_all.stable.out 
b/clients/Tests/MAL-signatures_all.stable.out
--- a/clients/Tests/MAL-signatures_all.stable.out
+++ b/clients/Tests/MAL-signatures_all.stable.out
@@ -40993,14 +40993,10 @@ command pcre.imatch(s:str,pat:str):bit
 address PCREimatch;
 comment Caseless Perl Compatible Regular Expression pattern matching against a 
string
 
-command pcre.ilikesubselect(s:bat[:oid,:str],pat:bat[:oid,:str],esc:str) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
-address PCREilike_join_pcre;
 command pcre.index(pat:pcre,s:str):int 
 address PCREindex;
 comment match a pattern, return matched position (or 0 when not found)
 
-command pcre.likesubselect(s:bat[:oid,:str],pat:bat[:oid,:str],esc:str) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
-address PCRElike_join_pcre;
 command pcre.match(s:str,pat:str):bit 
 address PCREmatch;
 comment Perl Compatible Regular Expression pattern matching against a string
@@ -41027,10 +41023,6 @@ command pcre.sql2pcre(pat:str,esc:str):s
 address PCREsql2pcre;
 comment Convert a SQL like pattern with the given escape character into a PCRE 
pattern.
 
-command pcre.select(pat:str,strs:bat[:oid,:str]):bat[:oid,:str] 
-address PCREselectDef;
-comment Select tuples based on the pattern
-
 pattern profiler.activate(name:str...):void 
 address CMDactivateProfiler;
 comment A list of counters to be activated.
diff --git a/clients/Tests/MAL-signatures_fits_geom.stable.out 
b/clients/Tests/MAL-signatures_fits_geom.stable.out
--- a/clients/Tests/MAL-signatures_fits_geom.stable.out
+++ b/clients/Tests/MAL-signatures_fits_geom.stable.out
@@ -40910,14 +40910,10 @@ command pcre.imatch(s:str,pat:str):bit
 address PCREimatch;
 comment Caseless Perl Compatible Regular Expression pattern matching against a 
string
 
-command pcre.ilikesubselect(s:bat[:oid,:str],pat:bat[:oid,:str],esc:str) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
-address PCREilike_join_pcre;
 command pcre.index(pat:pcre,s:str):int 
 address PCREindex;
 comment match a pattern, return matched position (or 0 when not found)
 
-command pcre.likesubselect(s:bat[:oid,:str],pat:bat[:oid,:str],esc:str) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
-address PCRElike_join_pcre;
 command pcre.match(s:str,pat:str):bit 
 address PCREmatch;
 comment Perl Compatible Regular Expression pattern matching against a string
@@ -40944,10 +40940,6 @@ command pcre.sql2pcre(pat:str,esc:str):s
 address PCREsql2pcre;
 comment Convert a SQL like pattern with the given escape character into a PCRE 
pattern.
 
-command pcre.select(pat:str,strs:bat[:oid,:str]):bat[:oid,:str] 
-address PCREselectDef;
-comment Select tuples based on the pattern
-
 pattern profiler.activate(name:str...):void 
 address CMDactivateProfiler;
 comment A list of counters to be activated.
diff --git a/clients/Tests/MAL-signatures_geom.stable.out 
b/clients/Tests/MAL-signatures_geom.stable.out
--- a/clients/Tests/MAL-signatures_geom.stable.out
+++ b/clients/Tests/MAL-signatures_geom.stable.out
@@ -40886,14 +40886,10 @@ command pcre.imatch(s:str,pat:str):bit
 address PCREimatch;
 comment Caseless Perl Compatible Regular Expression pattern matching against a 
string
 
-command pcre.ilikesubselect(s:bat[:oid,:str],pat:bat[:oid,:str],esc:str) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
-address PCREilike_join_pcre;
 command pcre.index(pat:pcre,s:str):int 
 address PCREindex;
 comment match a pattern, return matched position (or 0 when not found)
 
-command pcre.likesubselect(s:bat[:oid,:str],pat:bat[:oid,:str],esc:str) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
-address PCRElike_join_pcre;
 command pcre.match(s:str,pat:str):bit 
 address PCREmatch;
 comment Perl Compatible Regular Expression pattern matching against a string
@@ -40920,10 +40916,6 @@ command pcre.sql2pcre(pat:str,esc:str):s
 address PCREsql2pcre;
 comment Convert a SQL like pattern with the given escape character into a PCRE 
pattern.
 
-command pcre.select(pat:str,strs:bat[:oid,:str]):bat[:oid,:str] 
-address PCREselectDef;
-comment Select tuples based on the pattern
-
 pattern profiler.activate(name:str...):void 
 address CMDactivateProfiler;
 comment A list of counters to be activated.
diff --git a/clients/Tests/MAL-signatures_none.stable.out 
b/clients/Tests/MAL-signatures_none.stable.out
--- a/clients/Tests/MAL-signatures_none.stable.out
+++ b/clients/Tests/MAL-signatures_none.stable.out
@@ -40699,14 +40699,10 @@ command pcre.imatch(s:str,pat:str):bit
 address PCREimatch;
 comment Caseless Perl Compatible Regular Expression pattern matching against a 
string
 
-command pcre.ilikesubselect(s:bat[:oid,:str],pat:bat[:oid,:str],esc:str) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
-address PCREilike_join_pcre;
 command pcre.index(pat:pcre,s:str):int 
 address PCREindex;
 comment match a pattern, return matched position (or 0 when not found)
 
-command pcre.likesubselect(s:bat[:oid,:str],pat:bat[:oid,:str],esc:str) 
(l:bat[:oid,:oid],r:bat[:oid,:oid]) 
-address PCRElike_join_pcre;
 command pcre.match(s:str,pat:str):bit 
 address PCREmatch;
 comment Perl Compatible Regular Expression pattern matching against a string
@@ -40733,10 +40729,6 @@ command pcre.sql2pcre(pat:str,esc:str):s
 address PCREsql2pcre;
 comment Convert a SQL like pattern with the given escape character into a PCRE 
pattern.
 
-command pcre.select(pat:str,strs:bat[:oid,:str]):bat[:oid,:str] 
-address PCREselectDef;
-comment Select tuples based on the pattern
-
 pattern profiler.activate(name:str...):void 
 address CMDactivateProfiler;
 comment A list of counters to be activated.
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -1741,7 +1741,7 @@ str PCREpatindex(int *ret, str *pat, str
 str PCREquote(str *r, str *v);
 str PCREreplace_bat_wrap(int *res, int *or, str *pat, str *repl, str *flags);
 str PCREreplace_wrap(str *res, str *or, str *pat, str *repl, str *flags);
-str PCREselectDef(int *res, str *pattern, int *bid);
+str PCREselect(int *res, str *pattern, int *bid);
 str PCREsql2pcre(str *ret, str *pat, str *esc);
 sht PropertyIndex(str name);
 str PropertyName(sht idx);
diff --git a/monetdb5/modules/mal/pcre.c b/monetdb5/modules/mal/pcre.c
--- a/monetdb5/modules/mal/pcre.c
+++ b/monetdb5/modules/mal/pcre.c
@@ -75,7 +75,7 @@ pcre_export str BATPCREilike(int *ret, i
 pcre_export str BATPCREilike2(int *ret, int *b, str *pat);
 pcre_export str BATPCREnotilike(int *ret, int *b, str *pat, str *esc);
 pcre_export str BATPCREnotilike2(int *ret, int *b, str *pat);
-pcre_export str PCREselectDef(int *res, str *pattern, int *bid);
+pcre_export str PCREselect(int *res, str *pattern, int *bid);
 pcre_export str PCRElike_join_pcre(int *l, int *r, int *b, int *pat, str *esc);
 pcre_export str PCREilike_join_pcre(int *l, int *r, int *b, int *pat, str 
*esc);
 pcre_export str pcre_init(void);
@@ -272,48 +272,6 @@ re_uselect(RE *pattern, BAT *strs, int i
        return r;
 }
 
-static BAT *
-re_select(RE *pattern, BAT *strs, int ignore)
-{
-       BATiter strsi = bat_iterator(strs);
-       BAT *r;
-       BUN p, q;
-
-       assert(strs->htype==TYPE_void);
-       if (strs->htype == TYPE_void)
-               r = BATnew(TYPE_oid, TYPE_str, BATcount(strs), TRANSIENT);
-       else
-               r = BATnew(strs->htype, TYPE_str, BATcount(strs), TRANSIENT);
-       if (r == NULL)
-               return NULL;
-
-       if (ignore) {
-               BATloop(strs, p, q) {
-                       const char *s = BUNtail(strsi, p);
-
-                       if (re_match_ignore(s, pattern))
-                               BUNins(r, BUNhead(strsi, p), s, FALSE);
-               }
-       } else {
-               BATloop(strs, p, q) {
-                       const char *s = BUNtail(strsi, p);
-
-                       if (re_match_no_ignore(s, pattern))
-                               BUNins(r, BUNhead(strsi, p), s, FALSE);
-               }
-       }
-       r->H->nonil = strs->H->nonil;
-       r->hsorted = strs->hsorted;
-       r->hrevsorted = strs->hrevsorted;
-/*     BATkey(r, BAThkey(strs)); ?*/
-       r->T->nonil = strs->T->nonil;
-       r->tsorted = strs->tsorted;
-       r->trevsorted = strs->trevsorted;
-
-       if (!(r->batDirty&2)) r = BATsetaccess(r, BAT_READ);
-       return r;
-}
-
 #define m2p(p) (pcre*)(((size_t*)p)+1)
 #define p2m(p) (pcre*)(((size_t*)p)-1)
 
@@ -1119,8 +1077,8 @@ PCREreplace_bat_wrap(int *res, int *bid,
        return msg;
 }
 
-static str
-PCREselect(int *res, str *pattern, int *bid, bit *ignore)
+str
+PCREselect(int *res, str *pattern, int *bid)
 {
        BAT *bn = NULL, *strs;
        str msg;
@@ -1129,7 +1087,7 @@ PCREselect(int *res, str *pattern, int *
                throw(MAL, "pcre.select", RUNTIME_OBJECT_MISSING);
        }
 
-       if ((msg = pcre_select(&bn, *pattern, strs, *ignore)) != MAL_SUCCEED) {
+       if ((msg = pcre_select(&bn, *pattern, strs, FALSE)) != MAL_SUCCEED) {
                BBPunfix(strs->batCacheid);
                return msg;
        }
@@ -1140,13 +1098,6 @@ PCREselect(int *res, str *pattern, int *
        return msg;
 }
 
-str
-PCREselectDef(int *res, str *pattern, int *bid)
-{
-       bit ignore = FALSE;
-       return(PCREselect(res, pattern, bid, &ignore));
-}
-
 static str
 PCREuselect(int *res, str *pattern, int *bid, bit *ignore)
 {
@@ -1154,7 +1105,7 @@ PCREuselect(int *res, str *pattern, int 
        str msg;
 
        if ((strs = BATdescriptor(*bid)) == NULL) {
-               throw(MAL, "pcre.select", RUNTIME_OBJECT_MISSING);
+               throw(MAL, "pcre.uselect", RUNTIME_OBJECT_MISSING);
        }
 
        if ((msg = pcre_uselect(&bn, *pattern, strs, *ignore)) != MAL_SUCCEED) {
@@ -1592,7 +1543,7 @@ PCRElikesubselect3(bat *ret, bat *bid, s
 }
 
 static str
-PCRElike_pcre(int *ret, int *b, str *pat, str *esc, bit us, bit ignore)
+PCRElike_pcre(int *ret, int *b, str *pat, str *esc, bit ignore)
 {
        char *ppat = NULL;
        str r = MAL_SUCCEED;
@@ -1610,10 +1561,7 @@ PCRElike_pcre(int *ret, int *b, str *pat
                        re_destroy(re);
                        throw(MAL, "pcre.like", RUNTIME_OBJECT_MISSING);
                }
-               if (us)
-                       res = re_uselect(re, bp, ignore);
-               else
-                       res = re_select(re, bp, ignore);
+               res = re_uselect(re, bp, ignore);
 
                re_destroy(re);
                if (res == NULL) {
@@ -1643,10 +1591,7 @@ PCRElike_pcre(int *ret, int *b, str *pat
                                        throw(MAL, "pcre.like", 
MAL_MALLOC_FAIL); /* likely to fail hard as well */
 
                                sprintf(ppat, "^%s$", *pat);
-                               if (us)
-                                       r = PCREuselect(ret, &ppat, b, &ignore);
-                               else
-                                       r = PCREselect(ret, &ppat, b, &ignore);
+                               r = PCREuselect(ret, &ppat, b, &ignore);
                                GDKfree(ppat);
                        } else {
                                BAT *bp = BATdescriptor(*b);
@@ -1654,10 +1599,7 @@ PCRElike_pcre(int *ret, int *b, str *pat
 
                                if (bp == NULL)
                                        throw(MAL, "pcre.like", 
OPERATION_FAILED); /*operation?*/
-                               if (us)
-                                       res = BATuselect(bp, *pat, *pat);
-                               else
-                                       res = BATselect(bp, *pat, *pat);
+                               res = BATuselect(bp, *pat, *pat);
 
                                *ret = res->batCacheid;
                                BBPkeepref(res->batCacheid);
@@ -1665,10 +1607,7 @@ PCRElike_pcre(int *ret, int *b, str *pat
                                r = MAL_SUCCEED;
                        }
                } else {
-                       if (us)
-                               r = PCREuselect(ret, &ppat, b, &ignore);
-                       else
-                               r = PCREselect(ret, &ppat, b, &ignore);
+                       r = PCREuselect(ret, &ppat, b, &ignore);
                        GDKfree(ppat);
                }
        }
@@ -1701,20 +1640,11 @@ PCRElike_join(int *l, int *r, int *b, in
                int r;
                str err;
 
-               if (case_sensitive) {
-                       if ((err = PCRElike_pcre( &r, b, &ppat, esc, TRUE, 
FALSE)) != MAL_SUCCEED) {
-                               BBPunfix(j->batCacheid);
-                               BBPreleaseref(B->batCacheid);
-                               BBPreleaseref(Bpat->batCacheid);
-                               return err;
-                       }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to