Changeset: 3a1d80dfb2ea for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3a1d80dfb2ea
Modified Files:
        gdk/gdk_join.c
Branch: Mar2018
Log Message:

Add ALGODEBUG print.


diffs (63 lines):

diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -463,13 +463,36 @@ selectjoin(BAT *r1, BAT *r2, BAT *l, BAT
 
 static gdk_return
 mergejoin_void(BAT *r1, BAT *r2, BAT *l, BAT *r, BAT *sl, BAT *sr,
-              bool nil_on_miss, bool only_misses, lng t0)
+              bool nil_on_miss, bool only_misses, lng t0, bool swapped)
 {
        oid lo, hi;
        BUN cnt, i;
        const oid *lvals;
        oid o, seq;
 
+       ALGODEBUG fprintf(stderr, "#mergejoin_void(l=%s#" BUNFMT "[%s]%s%s%s,"
+                         "r=%s#" BUNFMT "[%s]%s%s%s,sl=%s#" BUNFMT "%s%s%s,"
+                         "sr=%s#" BUNFMT "%s%s%s,"
+                         "nil_on_miss=%d,only_misses=%d)%s\n",
+                         BATgetId(l), BATcount(l), ATOMname(l->ttype),
+                         l->tsorted ? "-sorted" : "",
+                         l->trevsorted ? "-revsorted" : "",
+                         l->tkey ? "-key" : "",
+                         BATgetId(r), BATcount(r), ATOMname(r->ttype),
+                         r->tsorted ? "-sorted" : "",
+                         r->trevsorted ? "-revsorted" : "",
+                         r->tkey ? "-key" : "",
+                         sl ? BATgetId(sl) : "NULL", sl ? BATcount(sl) : 0,
+                         sl && sl->tsorted ? "-sorted" : "",
+                         sl && sl->trevsorted ? "-revsorted" : "",
+                         sl && sl->tkey ? "-key" : "",
+                         sr ? BATgetId(sr) : "NULL", sr ? BATcount(sr) : 0,
+                         sr && sr->tsorted ? "-sorted" : "",
+                         sr && sr->trevsorted ? "-revsorted" : "",
+                         sr && sr->tkey ? "-key" : "",
+                         nil_on_miss, only_misses,
+                         swapped ? " swapped" : "");
+
        /* r is dense, and if there is a candidate list, it too is
         * dense.  This means we don't have to do any searches, we
         * only need to compare ranges to know whether a value from l
@@ -3789,7 +3812,7 @@ leftjoin(BAT **r1p, BAT **r2p, BAT *l, B
                   lcount > 0 && rcount > 0) {
                /* use special implementation for dense right-hand side */
                return mergejoin_void(r1, r2, l, r, sl, sr,
-                                     nil_on_miss, only_misses, t0);
+                                     nil_on_miss, only_misses, t0, false);
        } else if ((BATordered(r) || BATordered_rev(r)) &&
                   (BATtdense(r) ||
                    lcount < 1024 ||
@@ -3984,10 +4007,10 @@ BATjoin(BAT **r1p, BAT **r2p, BAT *l, BA
                return selectjoin(r2, r1, r, l, sr, sl, nil_matches, t0, true);
        } else if (BATtdense(r) && (sr == NULL || BATtdense(sr))) {
                /* use special implementation for dense right-hand side */
-               return mergejoin_void(r1, r2, l, r, sl, sr, false, false, t0);
+               return mergejoin_void(r1, r2, l, r, sl, sr, false, false, t0, 
false);
        } else if (BATtdense(l) && (sl == NULL || BATtdense(sl))) {
                /* use special implementation for dense right-hand side */
-               return mergejoin_void(r2, r1, r, l, sr, sl, false, false, t0);
+               return mergejoin_void(r2, r1, r, l, sr, sl, false, false, t0, 
true);
        } else if ((BATordered(l) || BATordered_rev(l)) &&
                   (BATordered(r) || BATordered_rev(r))) {
                /* both sorted */
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to