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 checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list