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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list