Changeset: 946e11847d8c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=946e11847d8c
Modified Files:
        gdk/gdk_join.c
        gdk/gdk_search.c
Branch: Jul2015
Log Message:

Extended debug (ALGOMASK) output a bit.


diffs (truncated from 741 to 300 lines):

diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -435,7 +435,7 @@ binsearch(const oid *rcand, oid offset,
 static gdk_return
 nomatch(BAT *r1, BAT *r2, BAT *l, BAT *r, BUN lstart, BUN lend,
        const oid *lcand, const oid *lcandend,
-       int nil_on_miss, int must_match, const char *func)
+       int nil_on_miss, int must_match, const char *func, lng t0)
 {
        BUN cnt;
 
@@ -485,15 +485,18 @@ nomatch(BAT *r1, BAT *r2, BAT *l, BAT *r
        BATsetcount(r2, cnt);
        BATseqbase(BATmirror(r2), oid_nil);
        ALGODEBUG fprintf(stderr,
-                         "#%s(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s) -- 
nomatch\n",
+                         "#%s(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s,%s#"BUNFMT"%s%s%s) 
" LLFMT "us -- nomatch\n",
                          func,
                          BATgetId(l), BATgetId(r),
                          BATgetId(r1), BATcount(r1),
                          r1->tsorted ? "-sorted" : "",
                          r1->trevsorted ? "-revsorted" : "",
+                         r1->tkey & 1 ? "-key" : "",
                          BATgetId(r2), BATcount(r2),
                          r2->tsorted ? "-sorted" : "",
-                         r2->trevsorted ? "-revsorted" : "");
+                         r2->trevsorted ? "-revsorted" : "",
+                         r2->tkey & 1 ? "-key" : "",
+                         GDKusec() - t0);
        return GDK_SUCCEED;
 
   bailout:
@@ -504,7 +507,7 @@ nomatch(BAT *r1, BAT *r2, BAT *l, BAT *r
 
 static gdk_return
 mergejoin_void(BAT *r1, BAT *r2, BAT *l, BAT *r, BAT *sl, BAT *sr,
-              int nil_on_miss, int must_match)
+              int nil_on_miss, int must_match, lng t0)
 {
        oid lo, hi;
        BUN cnt, i;
@@ -582,7 +585,7 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                                               seq + cnt - l->hseqbase,
                                               NULL, NULL, nil_on_miss,
                                               must_match,
-                                              "mergejoin_void");
+                                              "mergejoin_void", t0);
                        if (must_match && hi - lo < cnt) {
                                GDKerror("mergejoin(%s,%s) does not hit always 
=> can't use fetchjoin.\n", BATgetId(l), BATgetId(r));
                                goto bailout;
@@ -635,14 +638,17 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                                /* (hi - lo) different OIDs in r2,
                                 * plus one for nil */
                                r2->tkey = hi - lo + 1 == cnt;
-                               ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
+                               ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s,%s#"BUNFMT"%s%s%s) " LLFMT 
"us\n",
                                                  BATgetId(l), BATgetId(r),
                                                  BATgetId(r1), BATcount(r1),
                                                  r1->tsorted ? "-sorted" : "",
                                                  r1->trevsorted ? "-revsorted" 
: "",
+                                                 r1->tkey & 1 ? "-key" : "",
                                                  BATgetId(r2), BATcount(r2),
                                                  r2->tsorted ? "-sorted" : "",
-                                                 r2->trevsorted ? "-revsorted" 
: "");
+                                                 r2->trevsorted ? "-revsorted" 
: "",
+                                                 r2->tkey & 1 ? "-key" : "",
+                                                 GDKusec() - t0);
                                return GDK_SUCCEED;
                        }
                        BATsetcount(r1, hi - lo);
@@ -655,14 +661,17 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                        r2->T->shift = 0;
                        BATsetcount(r2, hi - lo);
                        BATseqbase(BATmirror(r2), r->hseqbase + lo - 
r->tseqbase);
-                       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
+                       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s,%s#"BUNFMT"%s%s%s) " LLFMT 
"us\n",
                                          BATgetId(l), BATgetId(r),
                                          BATgetId(r1), BATcount(r1),
                                          r1->tsorted ? "-sorted" : "",
                                          r1->trevsorted ? "-revsorted" : "",
+                                         r1->tkey & 1 ? "-key" : "",
                                          BATgetId(r2), BATcount(r2),
                                          r2->tsorted ? "-sorted" : "",
-                                         r2->trevsorted ? "-revsorted" : "");
+                                         r2->trevsorted ? "-revsorted" : "",
+                                         r2->tkey & 1 ? "-key" : "",
+                                         GDKusec() - t0);
                        return GDK_SUCCEED;
                }
                /* l has a dense tail, but the candidate list exists
@@ -730,14 +739,17 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                r1->T->nil = 0;
                r1->T->nonil = 1;
                r1->tkey = 1;
-               ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
+               ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s,%s#"BUNFMT"%s%s%s) " LLFMT 
"us\n",
                                  BATgetId(l), BATgetId(r),
                                  BATgetId(r1), BATcount(r1),
                                  r1->tsorted ? "-sorted" : "",
                                  r1->trevsorted ? "-revsorted" : "",
+                                 r1->tkey & 1 ? "-key" : "",
                                  BATgetId(r2), BATcount(r2),
                                  r2->tsorted ? "-sorted" : "",
-                                 r2->trevsorted ? "-revsorted" : "");
+                                 r2->trevsorted ? "-revsorted" : "",
+                                 r2->tkey & 1 ? "-key" : "",
+                                 GDKusec() - t0);
                return GDK_SUCCEED;
        }
        /* l does not have a dense tail, so we need to look at the
@@ -812,14 +824,17 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                        r2->trevsorted = l->trevsorted || BATcount(r2) <= 1;
                        r2->tkey = (l->tkey & 1) || BATcount(r2) <= 1;
                        r2->tdense = 0;
-                       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
+                       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s,%s#"BUNFMT"%s%s%s) " LLFMT " 
us\n",
                                          BATgetId(l), BATgetId(r),
                                          BATgetId(r1), BATcount(r1),
                                          r1->tsorted ? "-sorted" : "",
                                          r1->trevsorted ? "-revsorted" : "",
+                                         r1->tkey & 1 ? "-key" : "",
                                          BATgetId(r2), BATcount(r2),
                                          r2->tsorted ? "-sorted" : "",
-                                         r2->trevsorted ? "-revsorted" : "");
+                                         r2->trevsorted ? "-revsorted" : "",
+                                         r2->tkey & 1 ? "-key" : "",
+                                         GDKusec() - t0);
                        return GDK_SUCCEED;
                }
        }
@@ -883,14 +898,17 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                r2->tdense = 0;
                r2->tseqbase = oid_nil;
        }
-       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
+       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s,%s#"BUNFMT"%s%s%s) " LLFMT 
"us\n",
                          BATgetId(l), BATgetId(r),
                          BATgetId(r1), BATcount(r1),
                          r1->tsorted ? "-sorted" : "",
                          r1->trevsorted ? "-revsorted" : "",
+                         r1->tkey & 1 ? "-key" : "",
                          BATgetId(r2), BATcount(r2),
                          r2->tsorted ? "-sorted" : "",
-                         r2->trevsorted ? "-revsorted" : "");
+                         r2->trevsorted ? "-revsorted" : "",
+                         r2->tkey & 1 ? "-key" : "",
+                         GDKusec() - t0);
        return GDK_SUCCEED;
   bailout:
        BBPreclaim(r1);
@@ -916,7 +934,7 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
 static gdk_return
 mergejoin(BAT *r1, BAT *r2, BAT *l, BAT *r, BAT *sl, BAT *sr,
          int nil_matches, int nil_on_miss, int semi, int must_match,
-         BUN maxsize)
+         BUN maxsize, lng t0, int swapped)
 {
        BUN lstart, lend, lcnt;
        const oid *lcand, *lcandend;
@@ -947,23 +965,28 @@ mergejoin(BAT *r1, BAT *r2, BAT *l, BAT 
        wrd loff = 0, roff = 0;
        oid lval = oid_nil, rval = oid_nil;
 
-       ALGODEBUG fprintf(stderr, "#mergejoin(l=%s#" BUNFMT "[%s]%s%s,"
-                         "r=%s#" BUNFMT "[%s]%s%s,sl=%s#" BUNFMT "%s%s,"
-                         "sr=%s#" BUNFMT "%s%s,nil_matches=%d,"
-                         "nil_on_miss=%d,semi=%d,must_match=%d)\n",
+       ALGODEBUG fprintf(stderr, "#mergejoin(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_matches=%d,"
+                         "nil_on_miss=%d,semi=%d,must_match=%d)%s\n",
                          BATgetId(l), BATcount(l), ATOMname(l->ttype),
                          l->tsorted ? "-sorted" : "",
                          l->trevsorted ? "-revsorted" : "",
+                         l->tkey & 1 ? "-key" : "",
                          BATgetId(r), BATcount(r), ATOMname(r->ttype),
                          r->tsorted ? "-sorted" : "",
                          r->trevsorted ? "-revsorted" : "",
+                         r->tkey & 1 ? "-key" : "",
                          sl ? BATgetId(sl) : "NULL", sl ? BATcount(sl) : 0,
                          sl && sl->tsorted ? "-sorted" : "",
                          sl && sl->trevsorted ? "-revsorted" : "",
+                         sl && sl->tkey & 1 ? "-key" : "",
                          sr ? BATgetId(sr) : "NULL", sr ? BATcount(sr) : 0,
                          sr && sr->tsorted ? "-sorted" : "",
                          sr && sr->trevsorted ? "-revsorted" : "",
-                         nil_matches, nil_on_miss, semi, must_match);
+                         sr && sr->tkey & 1 ? "-key" : "",
+                         nil_matches, nil_on_miss, semi, must_match,
+                         swapped ? " swapped" : "");
 
        assert(BAThdense(l));
        assert(BAThdense(r));
@@ -1005,7 +1028,7 @@ mergejoin(BAT *r1, BAT *r2, BAT *l, BAT 
              (l->ttype == TYPE_void && l->tseqbase != oid_nil)))) {
                /* there are no matches */
                return nomatch(r1, r2, l, r, lstart, lend, lcand, lcandend,
-                              nil_on_miss, must_match, "mergejoin");
+                              nil_on_miss, must_match, "mergejoin", t0);
        }
 
        if (l->tsorted || l->trevsorted) {
@@ -1746,14 +1769,17 @@ mergejoin(BAT *r1, BAT *r2, BAT *l, BAT 
                if (r2->tdense)
                        r2->tseqbase = ((oid *) r2->T->heap.base)[r2->batFirst];
        }
-       ALGODEBUG fprintf(stderr, 
"#mergejoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
-                 BATgetId(l), BATgetId(r),
-                 BATgetId(r1), BATcount(r1),
-                 r1->tsorted ? "-sorted" : "",
-                 r1->trevsorted ? "-revsorted" : "",
-                 BATgetId(r2), BATcount(r2),
-                 r2->tsorted ? "-sorted" : "",
-                 r2->trevsorted ? "-revsorted" : "");
+       ALGODEBUG fprintf(stderr, 
"#mergejoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s,%s#"BUNFMT"%s%s%s) " LLFMT "us\n",
+                         BATgetId(l), BATgetId(r),
+                         BATgetId(r1), BATcount(r1),
+                         r1->tsorted ? "-sorted" : "",
+                         r1->trevsorted ? "-revsorted" : "",
+                         r1->tkey & 1 ? "-key" : "",
+                         BATgetId(r2), BATcount(r2),
+                         r2->tsorted ? "-sorted" : "",
+                         r2->trevsorted ? "-revsorted" : "",
+                         r2->tkey & 1 ? "-key" : "",
+                         GDKusec() - t0);
        return GDK_SUCCEED;
 
   bailout:
@@ -1817,7 +1843,9 @@ binsearchcand(const oid *cand, BUN lo, B
                    simple_EQ(v, BUNtloc(bi, hb), TYPE))
 
 static gdk_return
-hashjoin(BAT *r1, BAT *r2, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, 
int nil_on_miss, int semi, int must_match, BUN maxsize)
+hashjoin(BAT *r1, BAT *r2, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches,
+        int nil_on_miss, int semi, int must_match, BUN maxsize, lng t0,
+        int swapped, const char *reason)
 {
        BUN lstart, lend, lcnt;
        const oid *lcand = NULL, *lcandend = NULL;
@@ -1838,23 +1866,29 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT *
        const char *v = (const char *) &lval;
        int lskipped = 0;       /* whether we skipped values in l */
 
-       ALGODEBUG fprintf(stderr, "#hashjoin(l=%s#" BUNFMT "[%s]%s%s,"
-                         "r=%s#" BUNFMT "[%s]%s%s,sl=%s#" BUNFMT "%s%s,"
-                         "sr=%s#" BUNFMT "%s%s,nil_matches=%d,"
-                         "nil_on_miss=%d,semi=%d,must_match=%d)\n",
+       ALGODEBUG fprintf(stderr, "#hashjoin(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_matches=%d,"
+                         "nil_on_miss=%d,semi=%d,must_match=%d)%s%s%s\n",
                          BATgetId(l), BATcount(l), ATOMname(l->ttype),
                          l->tsorted ? "-sorted" : "",
                          l->trevsorted ? "-revsorted" : "",
+                         l->tkey & 1 ? "-key" : "",
                          BATgetId(r), BATcount(r), ATOMname(r->ttype),
                          r->tsorted ? "-sorted" : "",
                          r->trevsorted ? "-revsorted" : "",
+                         r->tkey & 1 ? "-key" : "",
                          sl ? BATgetId(sl) : "NULL", sl ? BATcount(sl) : 0,
                          sl && sl->tsorted ? "-sorted" : "",
                          sl && sl->trevsorted ? "-revsorted" : "",
+                         sl && sl->tkey & 1 ? "-key" : "",
                          sr ? BATgetId(sr) : "NULL", sr ? BATcount(sr) : 0,
                          sr && sr->tsorted ? "-sorted" : "",
                          sr && sr->trevsorted ? "-revsorted" : "",
-                         nil_matches, nil_on_miss, semi, must_match);
+                         sr && sr->tkey & 1 ? "-key" : "",
+                         nil_matches, nil_on_miss, semi, must_match,
+                         swapped ? " swapped" : "",
+                         *reason ? " " : "", reason);
 
        assert(BAThdense(l));
        assert(BAThdense(r));
@@ -1897,7 +1931,7 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT *
 
        if (lstart == lend || rstart == rend)
                return nomatch(r1, r2, l, r, lstart, lend, lcand, lcandend,
-                              nil_on_miss, must_match, "hashjoin");
+                              nil_on_miss, must_match, "hashjoin", t0);
 
        rl = BUNfirst(r);
 #ifndef DISABLE_PARENT_HASH
@@ -2143,14 +2177,17 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT *
                if (r2->tdense)
                        r2->tseqbase = ((oid *) r2->T->heap.base)[r2->batFirst];
        }
-       ALGODEBUG fprintf(stderr, 
"#hashjoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s,%s#"BUNFMT"%s%s)\n",
-                 BATgetId(l), BATgetId(r),
-                 BATgetId(r1), BATcount(r1),
-                 r1->tsorted ? "-sorted" : "",
-                 r1->trevsorted ? "-revsorted" : "",
-                 BATgetId(r2), BATcount(r2),
-                 r2->tsorted ? "-sorted" : "",
-                 r2->trevsorted ? "-revsorted" : "");
+       ALGODEBUG fprintf(stderr, 
"#hashjoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s,%s#"BUNFMT"%s%s%s) " LLFMT "us\n",
+                         BATgetId(l), BATgetId(r),
+                         BATgetId(r1), BATcount(r1),
+                         r1->tsorted ? "-sorted" : "",
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to