Changeset: 525f227382dd for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=525f227382dd
Modified Files:
monetdb5/mal/mal_dataflow.c
monetdb5/optimizer/opt_pipes.c
sql/test/Tests/coalesce.stable.err
sql/test/Tests/setoptimizer.stable.out
Branch: rdf
Log Message:
Merge with default branch
diffs (100 lines):
diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c
--- a/monetdb5/mal/mal_dataflow.c
+++ b/monetdb5/mal/mal_dataflow.c
@@ -313,6 +313,7 @@ DFLOWworker(void *t)
fe->hotclaim += getMemoryClaim(flow->mb, flow->stk,
fe->pc, i, FALSE);
#endif
MT_lock_set(&flow->flowlock, "MALworker");
+
for (last = fe->pc - flow->start; last >= 0 && (i =
flow->nodes[last]) > 0; last = flow->edges[last])
if (flow->status[i].state == DFLOWpending &&
flow->status[i].blocks == 1) {
@@ -321,7 +322,7 @@ DFLOWworker(void *t)
flow->status[i].hotclaim = fe->hotclaim;
flow->status[i].argclaim += fe->hotclaim;
if (fnxt) {
- if ( flow->error)
+ if (flow->error)
q_enqueue(flow->done, fnxt);
else
q_enqueue(todo, fnxt);
@@ -505,6 +506,7 @@ DFLOWscheduler(DataFlow flow)
if (fe[0].flow->cntxt->flags & timerFlag)
fe[0].flow->cntxt->timer = GDKusec();
+ MT_lock_set(&flow->flowlock, "MALworker");
for (i = 0; i < actions; i++)
if (fe[i].blocks == 0) {
#ifdef USE_MAL_ADMISSION
@@ -516,12 +518,12 @@ DFLOWscheduler(DataFlow flow)
flow->status[i].state = DFLOWrunning;
PARDEBUG mnstr_printf(GDKstdout, "#enqueue pc=%d
claim=" LLFMT "\n", flow->status[i].pc, flow->status[i].argclaim);
}
+ MT_lock_unset(&flow->flowlock, "MALworker");
PARDEBUG mnstr_printf(GDKstdout, "#run %d instructions in dataflow
block\n", actions);
while (actions != tasks ) {
f = q_dequeue(flow->done);
- tasks++;
/*
* When an instruction is finished we have to reduce the blocked
@@ -530,6 +532,7 @@ DFLOWscheduler(DataFlow flow)
*/
MT_lock_set(&flow->flowlock, "MALworker");
+ tasks++;
for (last = f->pc - flow->start; last >= 0 && (i =
flow->nodes[last]) > 0; last = flow->edges[last])
if (flow->status[i].state == DFLOWpending) {
flow->status[i].argclaim += f->hotclaim;
diff --git a/monetdb5/optimizer/opt_pipes.c b/monetdb5/optimizer/opt_pipes.c
--- a/monetdb5/optimizer/opt_pipes.c
+++ b/monetdb5/optimizer/opt_pipes.c
@@ -73,13 +73,13 @@ struct PIPELINES {
// "optimizer.mitosis();"
// "optimizer.mergetable();"
"optimizer.deadcode();"
-// "optimizer.commonTerms();"
+ "optimizer.commonTerms();"
"optimizer.groups();"
// "optimizer.joinPath();"
// "optimizer.reorder();"
"optimizer.deadcode();"
"optimizer.reduce();"
-// "optimizer.dataflow();"
+ "optimizer.dataflow();"
"optimizer.history();"
"optimizer.multiplex();"
"optimizer.garbageCollector();",
diff --git a/sql/test/Tests/coalesce.stable.err
b/sql/test/Tests/coalesce.stable.err
--- a/sql/test/Tests/coalesce.stable.err
+++ b/sql/test/Tests/coalesce.stable.err
@@ -79,12 +79,12 @@ stderr of test 'coalesce` in directory '
# 20:30:43 > mclient -lsql -umonetdb -Pmonetdb --host=alf --port=39627
# 20:30:43 >
-MAPI = monetdb@niels:37938
+MAPI = monetdb@niels:33872
QUERY = select id, coalesce(age,'age unknown') from coalescetest;
ERROR = !conversion of string 'age unknown' to type int failed.
-MAPI = monetdb@niels:37938
+MAPI = monetdb@niels:33872
QUERY = select id, coalesce(name, age, 'unknown') from coalescetest;
-ERROR = !conversion from string to type int failed.
+ERROR = !conversion of string 'unknown' to type int failed.
# 20:30:44 >
# 20:30:44 > Done.
diff --git a/sql/test/Tests/setoptimizer.stable.out
b/sql/test/Tests/setoptimizer.stable.out
--- a/sql/test/Tests/setoptimizer.stable.out
+++ b/sql/test/Tests/setoptimizer.stable.out
@@ -66,7 +66,7 @@ Ready.
% clob, clob, clob # type
% 15, 406, 12 # length
[ "minimal_pipe",
"optimizer.inline();optimizer.remap();optimizer.deadcode();optimizer.multiplex();optimizer.garbageCollector();",
"stable" ]
-[ "default_pipe",
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.pushselect();optimizer.deadcode();optimizer.groups();optimizer.deadcode();optimizer.reduce();optimizer.history();optimizer.multiplex();optimizer.garbageCollector();",
"stable" ]
+[ "default_pipe",
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.pushselect();optimizer.deadcode();optimizer.commonTerms();optimizer.groups();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.garbageCollector();",
"stable" ]
[ "no_mitosis_pipe",
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.groups();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.dataflow();optimizer.history();optimizer.multiplex();optimizer.garbageCollector();",
"stable" ]
[ "sequential_pipe",
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.commonTerms();optimizer.groups();optimizer.joinPath();optimizer.reorder();optimizer.deadcode();optimizer.reduce();optimizer.history();optimizer.multiplex();optimizer.garbageCollector();",
"stable" ]
[ "recycler_pipe",
"optimizer.inline();optimizer.remap();optimizer.evaluate();optimizer.costModel();optimizer.coercions();optimizer.emptySet();optimizer.aliases();optimizer.deadcode();optimizer.commonTerms();optimizer.groups();optimizer.joinPath();optimizer.deadcode();optimizer.recycle();optimizer.reduce();optimizer.history();optimizer.multiplex();optimizer.garbageCollector();",
"experimental" ]
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list