Changeset: 4c987ba62284 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4c987ba62284 Modified Files: monetdb5/modules/mal/pcre.c Branch: Jun2020 Log Message:
Better loop diffs (43 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 @@ -852,15 +852,22 @@ re_likeselect(BAT **bnp, BAT *b, BAT *s, #define proj_scanloop(TEST) \ do { \ - BATloop (b, p, q) { \ - v = BUNtvar(bi, p); \ - if (*v == '\200') { \ - res[p] = bit_nil; \ - bn->tnonil = false; \ - bn->tnil = true; \ - } else \ + if (bn->tnonil) { \ + BATloop (b, p, q) { \ + v = BUNtail(bi, p); \ res[p] = TEST; \ - } \ + } \ + } else { \ + BATloop (b, p, q) { \ + v = BUNtail(bi, p); \ + if (*v == '\200') { \ + res[p] = bit_nil; \ + bn->tnonil = false; \ + bn->tnil = true; \ + } else \ + res[p] = TEST; \ + } \ + } \ } while (0) static str @@ -868,7 +875,7 @@ re_like_proj(BAT **bnp, BAT *b, const ch { BATiter bi = bat_iterator(b); BAT *bn; - const char *v; + const char *restrict v; RE *re = NULL; uint32_t *wpat = NULL; BUN p, q; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list