Changeset: e34d19447cbf for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e34d19447cbf
Modified Files:
        gdk/gdk_join.c
Branch: default
Log Message:

Move assignment out of the loop.


diffs (29 lines):

diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -2433,7 +2433,8 @@ mergejoin(BAT **r1p, BAT **r2p, BAT *l, 
                TYPE v;                                                 \
                if (!hash_cand) {                                       \
                        MT_rwlock_rdlock(&r->batIdxLock);               \
-                       locked = true;                                  \
+                       locked = true;  /* in case we abandon */        \
+                       hsh = r->thash; /* re-initialize inside lock */ \
                }                                                       \
                while (lci->next < lci->ncand) {                        \
                        lo = canditer_next(lci);                        \
@@ -2462,7 +2463,6 @@ mergejoin(BAT **r1p, BAT **r2p, BAT *l, 
                                                break;                  \
                                }                                       \
                        } else if (rci->tpe != cand_dense) {            \
-                               hsh = r->thash;                         \
                                for (rb = HASHget(hsh, hash_##TYPE(hsh, &v)); \
                                     rb != HASHnil(hsh);                \
                                     rb = HASHgetlink(hsh, rb)) {       \
@@ -2479,7 +2479,6 @@ mergejoin(BAT **r1p, BAT **r2p, BAT *l, 
                                        }                               \
                                }                                       \
                        } else {                                        \
-                               hsh = r->thash;                         \
                                for (rb = HASHget(hsh, hash_##TYPE(hsh, &v)); \
                                     rb != HASHnil(hsh);                \
                                     rb = HASHgetlink(hsh, rb)) {       \
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to