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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list