Changeset: faaa22e836d2 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=faaa22e836d2
Added Files:
        java/tests/BugDecimalRound_Bug_3561.java
        sql/jdbc/tests/Tests/BugDecimalRound_Bug_3561.SQL.bat
        sql/jdbc/tests/Tests/BugDecimalRound_Bug_3561.SQL.sh
        sql/jdbc/tests/Tests/BugDecimalRound_Bug_3561.stable.err
        sql/jdbc/tests/Tests/BugDecimalRound_Bug_3561.stable.out
Modified Files:
        gdk/gdk_bbp.c
        gdk/gdk_join.c
        gdk/gdk_search.c
        gdk/gdk_select.c
        gdk/gdk_system.c
        java/tests/Makefile.ag
        java/tests/build.xml
        sql/jdbc/tests/Tests/All
        sql/storage/bat/bat_storage.c
        sql/storage/bat/bat_utils.c
        sql/storage/bat/bat_utils.h
        sql/storage/sql_storage.h
        sql/test/leaks/Tests/check0.stable.out
        sql/test/leaks/Tests/check0.stable.out.int128
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check1.stable.out.int128
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check2.stable.out.int128
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check3.stable.out.int128
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check4.stable.out.int128
        sql/test/leaks/Tests/check5.stable.out
        sql/test/leaks/Tests/check5.stable.out.int128
        sql/test/leaks/Tests/drop3.stable.out.int128
        sql/test/leaks/Tests/select1.stable.out
        sql/test/leaks/Tests/select1.stable.out.int128
        sql/test/leaks/Tests/select2.stable.out
        sql/test/leaks/Tests/select2.stable.out.int128
        sql/test/leaks/Tests/temp1.stable.out
        sql/test/leaks/Tests/temp1.stable.out.int128
        sql/test/leaks/Tests/temp2.stable.out.int128
        sql/test/leaks/Tests/temp3.stable.out
        sql/test/leaks/Tests/temp3.stable.out.int128
Branch: default
Log Message:

Merge with Jul2015 branch.


diffs (truncated from 1375 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
@@ -454,7 +454,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 only_misses, const char *func)
+       int nil_on_miss, int only_misses, const char *func, lng t0)
 {
        BUN cnt;
 
@@ -503,15 +503,18 @@ nomatch(BAT *r1, BAT *r2, BAT *l, BAT *r
                BATseqbase(r2, 0);
        }
        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" : "",
                          r2 ? BATgetId(r2) : "--", r2 ? BATcount(r2) : 0,
                          r2 && r2->tsorted ? "-sorted" : "",
-                         r2 && r2->trevsorted ? "-revsorted" : "");
+                         r2 && r2->trevsorted ? "-revsorted" : "",
+                         r2 && r2->tkey & 1 ? "-key" : "",
+                         GDKusec() - t0);
        return GDK_SUCCEED;
 
   bailout:
@@ -522,7 +525,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 only_misses)
+              int nil_on_miss, int only_misses, lng t0)
 {
        oid lo, hi;
        BUN cnt, i;
@@ -599,7 +602,7 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                                               seq + cnt - l->hseqbase,
                                               NULL, NULL, nil_on_miss,
                                               only_misses,
-                                              "mergejoin_void");
+                                              "mergejoin_void", t0);
 
                        /* at this point, the matched values in l and
                         * r (taking candidate lists into account) are
@@ -951,16 +954,19 @@ mergejoin_void(BAT *r1, BAT *r2, BAT *l,
                virtualize(r1);
        if (r2 && r2->tkey && r2->tsorted)
                virtualize(r2);
-       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s,%s#"BUNFMT"%s%s%s)\n",
+       ALGODEBUG fprintf(stderr, 
"#mergejoin_void(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s%s,%s#"BUNFMT"%s%s%s%s) " LLFMT 
"us\n",
                          BATgetId(l), BATgetId(r),
                          BATgetId(r1), BATcount(r1),
                          r1->tsorted ? "-sorted" : "",
                          r1->trevsorted ? "-revsorted" : "",
                          r1->tdense ? "-dense" : "",
+                         r1->tkey & 1 ? "-key" : "",
                          r2 ? BATgetId(r2) : "--", r2 ? BATcount(r2) : 0,
                          r2 && r2->tsorted ? "-sorted" : "",
                          r2 && r2->trevsorted ? "-revsorted" : "",
-                         r2 && r2->tdense ? "-dense" : "");
+                         r2 && r2->tdense ? "-dense" : "",
+                         r2 && r2->tkey & 1 ? "-key" : "",
+                         GDKusec() - t0);
        return GDK_SUCCEED;
   bailout:
        BBPreclaim(r1);
@@ -986,7 +992,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 only_misses,
-         BUN maxsize)
+         BUN maxsize, lng t0, int swapped)
 {
        BUN lstart, lend, lcnt;
        const oid *lcand, *lcandend;
@@ -1017,23 +1023,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)\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)%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);
+                         sr && sr->tkey & 1 ? "-key" : "",
+                         nil_matches, nil_on_miss, semi,
+                         swapped ? " swapped" : "");
 
        assert(BAThdense(l));
        assert(BAThdense(r));
@@ -1074,7 +1085,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, only_misses, "mergejoin");
+                              nil_on_miss, only_misses, "mergejoin", t0);
        }
 
        if (l->tsorted || l->trevsorted) {
@@ -1885,16 +1896,19 @@ mergejoin(BAT *r1, BAT *r2, BAT *l, BAT 
        BATseqbase(r1, 0);
        if (r2)
                BATseqbase(r2, 0);
-       ALGODEBUG fprintf(stderr, 
"#mergejoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s,%s#"BUNFMT"%s%s%s)\n",
+       ALGODEBUG fprintf(stderr, 
"#mergejoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s%s,%s#"BUNFMT"%s%s%s%s) " LLFMT "us\n",
                          BATgetId(l), BATgetId(r),
                          BATgetId(r1), BATcount(r1),
                          r1->tsorted ? "-sorted" : "",
                          r1->trevsorted ? "-revsorted" : "",
                          r1->tdense ? "-dense" : "",
+                         r1->tkey & 1 ? "-key" : "",
                          r2 ? BATgetId(r2) : "--", r2 ? BATcount(r2) : 0,
                          r2 && r2->tsorted ? "-sorted" : "",
                          r2 && r2->trevsorted ? "-revsorted" : "",
-                         r2 && r2->tdense ? "-dense" : "");
+                         r2 && r2->tdense ? "-dense" : "",
+                         r2 && r2->tkey & 1 ? "-key" : "",
+                         GDKusec() - t0);
        return GDK_SUCCEED;
 
   bailout:
@@ -1963,7 +1977,8 @@ binsearchcand(const oid *cand, BUN lo, B
 
 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 only_misses, BUN maxsize)
+        int nil_on_miss, int semi, int only_misses, BUN maxsize, lng t0,
+        int swapped, const char *reason)
 {
        BUN lstart, lend, lcnt;
        const oid *lcand = NULL, *lcandend = NULL;
@@ -1984,23 +1999,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)\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)%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);
+                         sr && sr->tkey & 1 ? "-key" : "",
+                         nil_matches, nil_on_miss, semi,
+                         swapped ? " swapped" : "",
+                         *reason ? " " : "", reason);
 
        assert(BAThdense(l));
        assert(BAThdense(r));
@@ -2045,7 +2066,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, only_misses, "hashjoin");
+                              nil_on_miss, only_misses, "hashjoin", t0);
 
        rl = BUNfirst(r);
 #ifndef DISABLE_PARENT_HASH
@@ -2341,16 +2362,19 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT *
        BATseqbase(r1, 0);
        if (r2)
                BATseqbase(r2, 0);
-       ALGODEBUG fprintf(stderr, 
"#hashjoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s,%s#"BUNFMT"%s%s%s)\n",
+       ALGODEBUG fprintf(stderr, 
"#hashjoin(l=%s,r=%s)=(%s#"BUNFMT"%s%s%s%s,%s#"BUNFMT"%s%s%s%s) " LLFMT "us\n",
                          BATgetId(l), BATgetId(r),
                          BATgetId(r1), BATcount(r1),
                          r1->tsorted ? "-sorted" : "",
                          r1->trevsorted ? "-revsorted" : "",
                          r1->tdense ? "-dense" : "",
+                         r1->tkey & 1 ? "-key" : "",
                          r2 ? BATgetId(r2) : "--", r2 ? BATcount(r2) : 0,
                          r2 && r2->tsorted ? "-sorted" : "",
                          r2 && r2->trevsorted ? "-revsorted" : "",
-                         r2 && r2->tdense ? "-dense" : "");
+                         r2 && r2->tdense ? "-dense" : "",
+                         r2 && r2->tkey & 1 ? "-key" : "",
+                         GDKusec() - t0);
        return GDK_SUCCEED;
 
   bailout:
@@ -2367,7 +2391,7 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT *
 #define MASK_NE                (MASK_LT | MASK_GT)
 
 static gdk_return
-thetajoin(BAT *r1, BAT *r2, BAT *l, BAT *r, BAT *sl, BAT *sr, int opcode, BUN 
maxsize)
+thetajoin(BAT *r1, BAT *r2, BAT *l, BAT *r, BAT *sl, BAT *sr, int opcode, BUN 
maxsize, lng t0)
 {
        BUN lstart, lend, lcnt;
        const oid *lcand = NULL, *lcandend = NULL;
@@ -2389,21 +2413,25 @@ thetajoin(BAT *r1, BAT *r2, BAT *l, BAT 
        wrd loff = 0, roff = 0;
        oid lval = oid_nil, rval = oid_nil;
 
-       ALGODEBUG fprintf(stderr, "#thetajoin(l=%s#" BUNFMT "[%s]%s%s,"
-                         "r=%s#" BUNFMT "[%s]%s%s,sl=%s#" BUNFMT "%s%s,"
-                         "sr=%s#" BUNFMT "%s%s,op=%s%s%s)\n",
+       ALGODEBUG fprintf(stderr, "#thetajoin(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,op=%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" : "",
+                         sr && sr->tkey & 1 ? "-key" : "",
                          opcode & MASK_LT ? "<" : "",
                          opcode & MASK_GT ? ">" : "",
                          opcode & MASK_EQ ? "=" : "");
@@ -2577,14 +2605,17 @@ thetajoin(BAT *r1, BAT *r2, BAT *l, BAT 
        }
        BATseqbase(r1, 0);
        BATseqbase(r2, 0);
-       ALGODEBUG fprintf(stderr, 
"#thetajoin(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, 
"#thetajoin(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:
@@ -2595,7 +2626,7 @@ thetajoin(BAT *r1, BAT *r2, BAT *l, BAT 
 
 static gdk_return
 bandjoin(BAT *r1, BAT *r2, BAT *l, BAT *r, BAT *sl, BAT *sr,
-        const void *c1, const void *c2, int li, int hi, BUN maxsize)
+        const void *c1, const void *c2, int li, int hi, BUN maxsize, lng t0)
 {
        BUN lstart, lend, lcnt;
        const oid *lcand = NULL, *lcandend = NULL;
@@ -2615,21 +2646,25 @@ bandjoin(BAT *r1, BAT *r2, BAT *l, BAT *
        int lskipped = 0;       /* whether we skipped values in l */
        BUN nils = 0;           /* needed for XXX_WITH_CHECK macros */
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to