Changeset: 0f97614b1db8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/0f97614b1db8
Branch: default
Log Message:

merge


diffs (88 lines):

diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c
--- a/monetdb5/mal/mal_profiler.c
+++ b/monetdb5/mal/mal_profiler.c
@@ -209,6 +209,10 @@ prepareProfilerEvent(Client cntxt, MalBl
        if(malprofileruser!= MAL_ADMIN && malprofileruser != cntxt->user)
                return NULL;
 
+/* align the variable namings with EXPLAIN and TRACE */
+       if( pci->pc == 1 && start)
+               renameVariables(mb);
+
        logbuf = (struct logbuf) {0};
 
        usec= pci->clock;
diff --git a/monetdb5/modules/mal/profiler.c b/monetdb5/modules/mal/profiler.c
--- a/monetdb5/modules/mal/profiler.c
+++ b/monetdb5/modules/mal/profiler.c
@@ -90,6 +90,7 @@ CMDstartTrace(Client cntxt, MalBlkPtr mb
        (void) mb;
        (void) stk;
        (void) pci;
+       renameVariables(mb); // to keep in sink with explain
        return startTrace(cntxt);
 }
 
diff --git a/monetdb5/optimizer/opt_dataflow.c 
b/monetdb5/optimizer/opt_dataflow.c
--- a/monetdb5/optimizer/opt_dataflow.c
+++ b/monetdb5/optimizer/opt_dataflow.c
@@ -417,15 +417,21 @@ OPTdataflowImplementation(Client cntxt, 
                                // collect BAT variables garbage collected 
within the block
                                if( !simple)
                                        for( k=q->retc; k<q->argc; k++){
-                                               if (getState(states,q,k) & 
VAR2READ &&  getEndScope(mb,getArg(q,k)) == j && 
isaBatType(getVarType(mb,getArg(q,k))) )
-                                                               top = 
dflowGarbagesink(cntxt, mb, getArg(q,k), sink, top);
+                                               if (getState(states,q,k) & 
VAR2READ &&  getEndScope(mb,getArg(q,k)) == j && 
isaBatType(getVarType(mb,getArg(q,k))) ){
+                                                       InstrPtr r;
+                                                       top = 
dflowGarbagesink(cntxt, mb, getArg(q,k), sink, top);
+                                                       r = 
newInstruction(NULL,languageRef, passRef);
+                                                       getArg(r,0) = 
newTmpVariable(mb,TYPE_void);
+                                                       r= addArgument(mb,r, 
getArg(q,k));
+                                                       pushInstruction(mb,r);
+                                               }
                                        }
                        }
                        /* exit parallel block */
                        if ( ! simple){
                                // force the pending final garbage statements
-                               for( j=0; j<top; j++)
-                                       pushInstruction(mb,sink[j]);
+                               //for( j=0; j<top; j++)
+                                       //pushInstruction(mb,sink[j]);
                                q= newAssignment(mb);
                                q->barrier= EXITsymbol;
                                getArg(q,0) = flowblock;
diff --git a/sql/backends/monet5/sql_execute.c 
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -189,6 +189,7 @@ SQLsetTrace(Client cntxt, MalBlkPtr mb)
        pushEndInstruction(mb);
        if( msg == MAL_SUCCEED)
                msg = chkTypes(cntxt->usermodule, mb, TRUE);
+       renameVariables(mb);
        return msg;
 }
 
diff --git a/sql/test/Tests/setoptimizer.test b/sql/test/Tests/setoptimizer.test
--- a/sql/test/Tests/setoptimizer.test
+++ b/sql/test/Tests/setoptimizer.test
@@ -29,7 +29,7 @@ query TTT nosort
 select * from optimizers()
 ----
 minimal_pipe
-optimizer.inline();optimizer.remap();optimizer.bincopyfrom();optimizer.deadcode();optimizer.multiplex();optimizer.generator();optimizer.garbageCollector();
+optimizer.inline();optimizer.remap();optimizer.bincopyfrom();optimizer.deadcode();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.garbageCollector();
 stable
 minimal_fast
 optimizer.minimalfast()
diff --git a/testing/Mz.py.in b/testing/Mz.py.in
--- a/testing/Mz.py.in
+++ b/testing/Mz.py.in
@@ -13,6 +13,7 @@
 #   which OUT/ERR differ or not and which tests were skipped.
 #   dump HTML-stuff only at end
 #   print an ascii summary at end, too
+# - use sorting in .explain.functions_histogram
 # - if no diffs, but warnings, say so at end
 # - produce, keep & reference LOG
 # - add a "grep-like" function and replace "inlined" grep
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to