Changeset: a5a8ed8f7f73 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/a5a8ed8f7f73
Modified Files:
        monetdb5/modules/mal/pcre.c
Branch: Jan2022
Log Message:

Make the strimp creation threshold user defined

The parameter gdk_strimps_threshold specifies how many entries the string bat
should have before a strimp is created. The defalt value is 1.000.000.


diffs (20 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
@@ -1871,6 +1871,7 @@ PCRElikeselect(bat *ret, const bat *bid,
        char *ppat = NULL;
        bool use_re = false, use_strcmp = false, empty = false;
        bool use_strimps = GDKgetenv_isyes("gdk_use_strimps"), with_strimps = 
false;
+       BUN strimp_creation_threshold = GDKgetenv_int("gdk_strimps_threshold", 
1000000);
 
        if ((b = BATdescriptor(*bid)) == NULL) {
                msg = createException(MAL, "algebra.likeselect", 
SQLSTATE(HY002) RUNTIME_OBJECT_MISSING);
@@ -1893,7 +1894,7 @@ PCRElikeselect(bat *ret, const bat *bid,
         * A better solution is to run the PCRElikeselect as a LIKE query with
         * strimps and return the complement of the result.
         */
-       if (!empty && use_strimps && BATcount(b) >= STRIMP_CREATION_THRESHOLD 
&& !*anti) {
+       if (!empty && use_strimps && BATcount(b) >= strimp_creation_threshold 
&& !*anti) {
                BAT *tmp_s = NULL;
                if (STRMPcreate(b, NULL) == GDK_SUCCEED && (tmp_s = 
STRMPfilter(b, s, *pat))) {
                        if (s)
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to