Changeset: c30bf9423b5a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c30bf9423b5a
Modified Files:
monetdb5/modules/mal/pcre.c
Branch: Oct2014
Log Message:
Merge with Jan2014 branch.
diffs (41 lines):
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
@@ -1236,19 +1236,25 @@ BATPCRElike3(bat *ret, int *bid, str *pa
BATloop(strs, p, q) {
const char *s = (str)BUNtail(strsi, p);
- pos = pcre_exec(re, NULL, s, (int) strlen(s),
0, 0, NULL, 0);
+ if (*s == '\200') {
+ br[i] = bit_nil;
+ r->T->nonil = 0;
+ r->T->nil = 1;
+ } else {
+ pos = pcre_exec(re, NULL, s, (int)
strlen(s), 0, 0, NULL, 0);
- if (pos >= 0)
- br[i] = *not? FALSE:TRUE;
- else if (pos == -1)
- br[i] = *not? TRUE: FALSE;
- else {
- BBPreleaseref(strs->batCacheid);
- BBPreleaseref(r->batCacheid);
- res = createException(MAL,
"pcre.match", OPERATION_FAILED
- ": matching of regular
expression (%s) failed with %d", ppat, pos);
- GDKfree(ppat);
- return res;
+ if (pos >= 0)
+ br[i] = *not? FALSE:TRUE;
+ else if (pos == -1)
+ br[i] = *not? TRUE: FALSE;
+ else {
+ BBPreleaseref(strs->batCacheid);
+ BBPreleaseref(r->batCacheid);
+ res = createException(MAL,
"pcre.match", OPERATION_FAILED
+
": matching of regular expression (%s) failed with %d", ppat, pos);
+ GDKfree(ppat);
+ return res;
+ }
}
i++;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list