Changeset: 2020c3890711 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2020c3890711
Modified Files:
        gdk/gdk.h
        gdk/gdk_join.c
Branch: qcancel
Log Message:

mergejoin_void


diffs (43 lines):

diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -2123,6 +2123,7 @@ gdk_export BAT *BATsample_with_seed(BAT 
 
 #define GOTO_LABEL_TIMEOUT_HANDLER(label)                              \
        do {                                                            \
+               GDKerror("Timeout was reached!");                       \
                goto label;                                             \
        } while(0)
 
diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -462,6 +462,10 @@ mergejoin_void(BAT **r1p, BAT **r2p, BAT
        assert(rci->tpe == cand_dense);
        assert(BATcount(r) > 0);
 
+       size_t counter = 0;
+       QryCtx *qry_ctx = MT_thread_get_qry_ctx();
+       lng timeoffset = (qry_ctx->starttime && qry_ctx->querytimeout) ? 
(qry_ctx->starttime + qry_ctx->querytimeout) : 0;
+
        MT_thread_setalgorithm(__func__);
        /* figure out range [lo..hi) of values in r that we need to match */
        lo = r->tseqbase;
@@ -711,6 +715,8 @@ mergejoin_void(BAT **r1p, BAT **r2p, BAT
        r2->tnonil = true;
        if (l->ttype == TYPE_void && l->tvheap != NULL) {
                for (i = 0; i < lci->ncand; i++) {
+                       GDK_CHECK_TIMEOUT(timeoffset, counter,
+                                       DEFAULT_TIMEOUT_HANDLER());
                        oid c = canditer_next(lci);
 
                        o = BUNtoid(l, c - l->hseqbase);
@@ -725,6 +731,8 @@ mergejoin_void(BAT **r1p, BAT **r2p, BAT
                }
        } else {
                for (i = 0; i < lci->ncand; i++) {
+                       GDK_CHECK_TIMEOUT(timeoffset, counter,
+                                       DEFAULT_TIMEOUT_HANDLER());
                        oid c = canditer_next(lci);
 
                        o = lvals[c - l->hseqbase];
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to