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