Changeset: 0ad854a66a0d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0ad854a66a0d
Modified Files:
gdk/gdk_aggr.c
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_cand.c
gdk/gdk_firstn.c
gdk/gdk_group.c
gdk/gdk_join.c
gdk/gdk_project.c
gdk/gdk_select.c
gdk/gdk_tracer.c
gdk/gdk_unique.c
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_execute.c
sql/common/sql_changeset.c
sql/common/sql_hash.c
sql/common/sql_keyword.c
sql/common/sql_list.c
sql/common/sql_mem.c
sql/common/sql_stack.c
sql/include/sql_mem.h
sql/rel.txt
sql/server/rel_distribute.c
sql/server/rel_dump.c
sql/server/rel_exp.c
sql/server/rel_optimizer.c
sql/server/rel_partition.c
sql/server/rel_prop.c
sql/server/rel_propagate.c
sql/server/rel_rel.c
sql/server/rel_select.c
sql/server/sql_partition.c
sql/server/sql_qc.c
sql/storage/store_sequence.c
sql/test/BugTracker-2010/Tests/ORDER_BY_over_UNION_EXCEPT_INTERSECT.Bug-2606.stable.out
sql/test/BugTracker-2016/Tests/rename_exps.Bug-3974.stable.out
tools/merovingian/client/monetdb.c
Branch: unlock
Log Message:
merged
diffs (truncated from 4770 to 300 lines):
diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c
--- a/gdk/gdk_aggr.c
+++ b/gdk/gdk_aggr.c
@@ -892,7 +892,9 @@ BATgroupsum(BAT *b, BAT *g, BAT *e, BAT
BUN ncand;
const char *err;
const char *algo = NULL;
- lng t0 = GDKusec();
+ lng t0 = 0;
+
+ TRC_DEBUG_IF(ALGO) t0 = GDKusec();
if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &ci,
&ncand)) != NULL) {
GDKerror("%s\n", err);
@@ -943,14 +945,12 @@ BATgroupsum(BAT *b, BAT *g, BAT *e, BAT
bn = NULL;
}
- TRC_DEBUG(ALGO, "%s(b=" ALGOBATFMT ",g=" ALGOOPTBATFMT ","
- "e=" ALGOOPTBATFMT ",s=" ALGOOPTBATFMT ")=" ALGOOPTBATFMT ":"
- " %s; start " OIDFMT ", count " BUNFMT " (" LLFMT " usec)\n",
- __func__,
+ TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",g=" ALGOOPTBATFMT ","
+ "e=" ALGOOPTBATFMT ",s=" ALGOOPTBATFMT " -> " ALGOOPTBATFMT
+ "; start " OIDFMT ", count " BUNFMT " (%s -- " LLFMT "
usec)\n",
ALGOBATPAR(b), ALGOOPTBATPAR(g), ALGOOPTBATPAR(e),
ALGOOPTBATPAR(s), ALGOOPTBATPAR(bn),
- algo ? algo : "",
- ci.seq, ncand, GDKusec() - t0);
+ ci.seq, ncand, algo ? algo : "", GDKusec() - t0);
return bn;
}
@@ -964,7 +964,9 @@ BATsum(void *res, int tp, BAT *b, BAT *s
BUN ncand;
const char *err;
const char *algo = NULL;
- lng t0 = GDKusec();
+ lng t0 = 0;
+
+ TRC_DEBUG_IF(ALGO) t0 = GDKusec();
if ((err = BATgroupaggrinit(b, NULL, NULL, s, &min, &max, &ngrp, &ci,
&ncand)) != NULL) {
GDKerror("%s\n", err);
@@ -1066,12 +1068,10 @@ BATsum(void *res, int tp, BAT *b, BAT *s
nils = dosum(Tloc(b, 0), b->tnonil, b->hseqbase, &ci, ncand,
res, true, b->ttype, tp, &min, min, max,
skip_nils, abort_on_error, nil_if_empty, __func__, &algo);
- TRC_DEBUG(ALGO, "%s(b="ALGOBATFMT",s="ALGOOPTBATFMT"): %s; "
- "start " OIDFMT ", count " BUNFMT " (" LLFMT " usec)\n",
- __func__,
+ TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",s=" ALGOOPTBATFMT "; "
+ "start " OIDFMT ", count " BUNFMT " (%s -- " LLFMT " usec)\n",
ALGOBATPAR(b), ALGOOPTBATPAR(s),
- algo ? algo : "",
- ci.seq, ncand, GDKusec() - t0);
+ ci.seq, ncand, algo ? algo : "", GDKusec() - t0);
return nils < BUN_NONE ? GDK_SUCCEED : GDK_FAIL;
}
@@ -1468,6 +1468,9 @@ BATgroupprod(BAT *b, BAT *g, BAT *e, BAT
struct canditer ci;
BUN ncand;
const char *err;
+ lng t0 = 0;
+
+ TRC_DEBUG_IF(ALGO) t0 = GDKusec();
if ((err = BATgroupaggrinit(b, g, e, s, &min, &max, &ngrp, &ci,
&ncand)) != NULL) {
GDKerror("%s\n", err);
@@ -1518,6 +1521,13 @@ BATgroupprod(BAT *b, BAT *g, BAT *e, BAT
bn = NULL;
}
+ TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",g=" ALGOOPTBATFMT ","
+ "e=" ALGOOPTBATFMT ",s=" ALGOOPTBATFMT " -> " ALGOOPTBATFMT
+ "; start " OIDFMT ", count " BUNFMT " (" LLFMT " usec)\n",
+ ALGOBATPAR(b), ALGOOPTBATPAR(g), ALGOOPTBATPAR(e),
+ ALGOOPTBATPAR(s), ALGOOPTBATPAR(bn),
+ ci.seq, ncand, GDKusec() - t0);
+
return bn;
}
@@ -1530,6 +1540,9 @@ BATprod(void *res, int tp, BAT *b, BAT *
struct canditer ci;
BUN ncand;
const char *err;
+ lng t0 = 0;
+
+ TRC_DEBUG_IF(ALGO) t0 = GDKusec();
if ((err = BATgroupaggrinit(b, NULL, NULL, s, &min, &max, &ngrp, &ci,
&ncand)) != NULL) {
GDKerror("%s\n", err);
@@ -1569,6 +1582,10 @@ BATprod(void *res, int tp, BAT *b, BAT *
nils = doprod(Tloc(b, 0), b->hseqbase, &ci, ncand, res, true,
b->ttype, tp, &min, false, min, max,
skip_nils, abort_on_error, nil_if_empty, __func__);
+ TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",s=" ALGOOPTBATFMT "; "
+ "start " OIDFMT ", count " BUNFMT " (" LLFMT " usec)\n",
+ ALGOBATPAR(b), ALGOOPTBATPAR(s),
+ ci.seq, ncand, GDKusec() - t0);
return nils < BUN_NONE ? GDK_SUCCEED : GDK_FAIL;
}
@@ -1662,6 +1679,9 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT
struct canditer ci;
BUN ncand;
const char *err;
+ lng t0 = 0;
+
+ TRC_DEBUG_IF(ALGO) t0 = GDKusec();
assert(tp == TYPE_dbl);
(void) tp; /* compatibility (with other BATgroup*
@@ -1812,6 +1832,12 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT
bn->tnil = nils != 0;
bn->tnonil = nils == 0;
*bnp = bn;
+ TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",g=" ALGOOPTBATFMT ","
+ "e=" ALGOOPTBATFMT ",s=" ALGOOPTBATFMT " -> " ALGOOPTBATFMT
+ "; start " OIDFMT ", count " BUNFMT " (" LLFMT " usec)\n",
+ ALGOBATPAR(b), ALGOOPTBATPAR(g), ALGOOPTBATPAR(e),
+ ALGOOPTBATPAR(s), ALGOOPTBATPAR(bn),
+ ci.seq, ncand, GDKusec() - t0);
return GDK_SUCCEED;
alloc_fail:
@@ -2002,6 +2028,9 @@ BATgroupcount(BAT *b, BAT *g, BAT *e, BA
struct canditer ci;
BUN ncand;
const char *err;
+ lng t0 = 0;
+
+ TRC_DEBUG_IF(ALGO) t0 = GDKusec();
assert(tp == TYPE_lng);
(void) tp; /* compatibility (with other BATgroup* */
@@ -2107,6 +2136,12 @@ BATgroupcount(BAT *b, BAT *g, BAT *e, BA
bn->trevsorted = BATcount(bn) <= 1;
bn->tnil = false;
bn->tnonil = true;
+ TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",g=" ALGOOPTBATFMT ","
+ "e=" ALGOOPTBATFMT ",s=" ALGOOPTBATFMT " -> " ALGOOPTBATFMT
+ "; start " OIDFMT ", count " BUNFMT " (" LLFMT " usec)\n",
+ ALGOBATPAR(b), ALGOOPTBATPAR(g), ALGOOPTBATPAR(e),
+ ALGOOPTBATPAR(s), ALGOOPTBATPAR(bn),
+ ci.seq, ncand, GDKusec() - t0);
return bn;
}
@@ -2124,6 +2159,9 @@ BATgroupsize(BAT *b, BAT *g, BAT *e, BAT
struct canditer ci;
BUN ncand;
const char *err;
+ lng t0 = 0;
+
+ TRC_DEBUG_IF(ALGO) t0 = GDKusec();
assert(tp == TYPE_lng);
assert(b->ttype == TYPE_bit);
@@ -2175,6 +2213,12 @@ BATgroupsize(BAT *b, BAT *g, BAT *e, BAT
bn->trevsorted = BATcount(bn) <= 1;
bn->tnil = false;
bn->tnonil = true;
+ TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",g=" ALGOOPTBATFMT ","
+ "e=" ALGOOPTBATFMT ",s=" ALGOOPTBATFMT " -> " ALGOOPTBATFMT
+ "; start " OIDFMT ", count " BUNFMT " (" LLFMT " usec)\n",
+ ALGOBATPAR(b), ALGOOPTBATPAR(g), ALGOOPTBATPAR(e),
+ ALGOOPTBATPAR(s), ALGOOPTBATPAR(bn),
+ ci.seq, ncand, GDKusec() - t0);
return bn;
}
@@ -2444,6 +2488,9 @@ BATgroupminmax(BAT *b, BAT *g, BAT *e, B
struct canditer ci;
BUN ncand;
const char *err;
+ lng t0 = 0;
+
+ TRC_DEBUG_IF(ALGO) t0 = GDKusec();
assert(tp == TYPE_oid);
(void) tp; /* compatibility (with other BATgroup* */
@@ -2486,6 +2533,12 @@ BATgroupminmax(BAT *b, BAT *g, BAT *e, B
bn->trevsorted = BATcount(bn) <= 1;
bn->tnil = nils != 0;
bn->tnonil = nils == 0;
+ TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",g=" ALGOOPTBATFMT ","
+ "e=" ALGOOPTBATFMT ",s=" ALGOOPTBATFMT " -> " ALGOOPTBATFMT
+ "; start " OIDFMT ", count " BUNFMT " (%s -- " LLFMT "
usec)\n",
+ ALGOBATPAR(b), ALGOOPTBATPAR(g), ALGOOPTBATPAR(e),
+ ALGOOPTBATPAR(s), ALGOOPTBATPAR(bn),
+ ci.seq, ncand, name, GDKusec() - t0);
return bn;
}
@@ -2497,12 +2550,6 @@ BATgroupmin(BAT *b, BAT *g, BAT *e, BAT
do_groupmin, __func__);
}
-void *
-BATmin(BAT *b, void *aggr)
-{
- return BATmin_skipnil(b, aggr, 1);
-}
-
/* return pointer to smallest non-nil value in b, or pointer to nil if
* there is no such value (no values at all, or only nil) */
void *
@@ -2512,6 +2559,9 @@ BATmin_skipnil(BAT *b, void *aggr, bit s
const void *res;
size_t s;
BATiter bi;
+ lng t0 = 0;
+
+ TRC_DEBUG_IF(ALGO) t0 = GDKusec();
if (!ATOMlinear(b->ttype)) {
/* there is no such thing as a smallest value if you
@@ -2590,9 +2640,17 @@ BATmin_skipnil(BAT *b, void *aggr, bit s
}
if (aggr != NULL) /* else: malloc error */
memcpy(aggr, res, s);
+ TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",skipnil=%d; (" LLFMT " usec)\n",
+ ALGOBATPAR(b), skipnil, GDKusec() - t0);
return aggr;
}
+void *
+BATmin(BAT *b, void *aggr)
+{
+ return BATmin_skipnil(b, aggr, 1);
+}
+
BAT *
BATgroupmax(BAT *b, BAT *g, BAT *e, BAT *s, int tp,
bool skip_nils, bool abort_on_error)
@@ -2602,18 +2660,15 @@ BATgroupmax(BAT *b, BAT *g, BAT *e, BAT
}
void *
-BATmax(BAT *b, void *aggr)
-{
- return BATmax_skipnil(b, aggr, 1);
-}
-
-void *
BATmax_skipnil(BAT *b, void *aggr, bit skipnil)
{
PROPrec *prop;
const void *res;
size_t s;
BATiter bi;
+ lng t0 = 0;
+
+ TRC_DEBUG_IF(ALGO) t0 = GDKusec();
if (!ATOMlinear(b->ttype)) {
GDKerror("non-linear type");
@@ -2684,9 +2739,17 @@ BATmax_skipnil(BAT *b, void *aggr, bit s
}
if (aggr != NULL) /* else: malloc error */
memcpy(aggr, res, s);
+ TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",skipnil=%d; (" LLFMT " usec)\n",
+ ALGOBATPAR(b), skipnil, GDKusec() - t0);
return aggr;
}
+void *
+BATmax(BAT *b, void *aggr)
+{
+ return BATmax_skipnil(b, aggr, 1);
+}
+
/* ---------------------------------------------------------------------- */
/* quantiles/median */
@@ -2730,6 +2793,9 @@ doBATgroupquantile(BAT *b, BAT *g, BAT *
int (*atomcmp)(const void *, const void *) = ATOMcompare(tp);
const char *err;
(void) abort_on_error;
+ lng t0 = 0;
+
+ TRC_DEBUG_IF(ALGO) t0 = GDKusec();
if (average) {
switch (ATOMbasetype(b->ttype)) {
@@ -3004,6 +3070,13 @@ doBATgroupquantile(BAT *b, BAT *g, BAT *
bn->trevsorted = BATcount(bn) <= 1;
bn->tnil = nils != 0;
bn->tnonil = nils == 0;
+ TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",g=" ALGOOPTBATFMT ","
+ "e=" ALGOOPTBATFMT ",s=" ALGOOPTBATFMT
+ ",quantile=%g,average=%s -> " ALGOOPTBATFMT
+ "; start " OIDFMT ", count " BUNFMT " (" LLFMT " usec)\n",
+ ALGOBATPAR(b), ALGOOPTBATPAR(g), ALGOOPTBATPAR(e),
+ ALGOOPTBATPAR(s), quantile, average ? "true" : "false",
+ ALGOOPTBATPAR(bn), ci.seq, ncand, GDKusec() - t0);
return bn;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list