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

Reply via email to