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

more checks


diffs (50 lines):

diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -314,6 +314,10 @@ selectjoin(BAT **r1p, BAT **r2p, BAT *l,
        assert(lci->ncand > 0);
        assert(lci->ncand == 1 || (l->tsorted && l->trevsorted));
 
+       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__);
        oid o = canditer_next(lci);
        v = BUNtail(li, o - l->hseqbase);
@@ -370,6 +374,7 @@ selectjoin(BAT **r1p, BAT **r2p, BAT *l,
                BUN p, q = BATcount(bn);
 
                do {
+                       GDK_CHECK_TIMEOUT(timeoffset, counter);
                        for (p = 0; p < q; p++) {
                                *o1p++ = o;
                        }
@@ -387,6 +392,7 @@ selectjoin(BAT **r1p, BAT **r2p, BAT *l,
                BUN p, q = BATcount(bn);
 
                do {
+                       GDK_CHECK_TIMEOUT(timeoffset, counter);
                        for (p = 0; p < q; p++) {
                                *o1p++ = o;
                        }
@@ -842,6 +848,7 @@ mergejoin_int(BAT **r1p, BAT **r2p, BAT 
 
        while (lstart < lend && rstart < rend) {
                GDK_CHECK_TIMEOUT(timeoffset, counter);
+
                v = rvals[rstart];
 
                if (lscan < lend - lstart && lvals[lstart + lscan] < v) {
diff --git a/gdk/gdk_system.h b/gdk/gdk_system.h
--- a/gdk/gdk_system.h
+++ b/gdk/gdk_system.h
@@ -144,7 +144,7 @@ enum MT_thr_detach { MT_THR_JOINABLE, MT
 typedef int64_t lng;
 
 typedef struct QryCtx {
-       lng starttime;
+       const lng starttime;
        lng querytimeout;
 } QryCtx;
 
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to