Changeset: f2288d8d17da for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f2288d8d17da
Modified Files:
monetdb5/optimizer/opt_pipes.c
sql/test/Tests/setoptimizer.test
Branch: default
Log Message:
moved the profile optimizer to the end as the profiler depends on the statement
offsets, while other
optimizers may change that.
diffs (141 lines):
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
@@ -49,10 +49,10 @@ static struct PIPELINES {
"optimizer.deadcode();"
"optimizer.multiplex();"
"optimizer.generator();"
- "optimizer.profiler();"
//"optimizer.candidates();" only for decoration in explain
//"optimizer.mask();"
"optimizer.garbageCollector();",
+ "optimizer.profiler();"
"stable", NULL, 1},
{"minimal_fast",
"optimizer.minimalfast()",
@@ -91,7 +91,6 @@ static struct PIPELINES {
"optimizer.querylog();"
"optimizer.multiplex();"
"optimizer.generator();"
- "optimizer.profiler();"
"optimizer.candidates();"
//"optimizer.mask();"
"optimizer.deadcode();"
@@ -99,6 +98,7 @@ static struct PIPELINES {
// "optimizer.jit();" awaiting the new batcalc api
"optimizer.wlc();"
"optimizer.garbageCollector();",
+ "optimizer.profiler();"
"stable", NULL, 1},
{"default_fast",
"optimizer.defaultfast()",
@@ -132,7 +132,6 @@ static struct PIPELINES {
"optimizer.querylog();"
"optimizer.multiplex();"
"optimizer.generator();"
- "optimizer.profiler();"
"optimizer.candidates();"
//"optimizer.mask();"
"optimizer.deadcode();"
@@ -141,6 +140,7 @@ static struct PIPELINES {
"optimizer.oltp();"
"optimizer.wlc();"
"optimizer.garbageCollector();",
+ "optimizer.profiler();"
"stable", NULL, 1},
/*
* Volcano style execution produces a sequence of blocks from the source
relation
@@ -171,7 +171,6 @@ static struct PIPELINES {
"optimizer.multiplex();"
"optimizer.generator();"
"optimizer.volcano();"
- "optimizer.profiler();"
"optimizer.candidates();"
//"optimizer.mask();"
"optimizer.deadcode();"
@@ -179,6 +178,7 @@ static struct PIPELINES {
// "optimizer.jit();" awaiting the new batcalc api
"optimizer.wlc();"
"optimizer.garbageCollector();",
+ "optimizer.profiler();"
"stable", NULL, 1},
/* The no_mitosis pipe line is (and should be kept!) identical to the
* default pipeline, except that optimizer mitosis is omitted. It is
@@ -214,7 +214,6 @@ static struct PIPELINES {
"optimizer.querylog();"
"optimizer.multiplex();"
"optimizer.generator();"
- "optimizer.profiler();"
"optimizer.candidates();"
//"optimizer.mask();"
"optimizer.deadcode();"
@@ -222,6 +221,7 @@ static struct PIPELINES {
// "optimizer.jit();" awaiting the new batcalc api
"optimizer.wlc();"
"optimizer.garbageCollector();",
+ "optimizer.profiler();"
"stable", NULL, 1},
/* The sequential pipe line is (and should be kept!) identical to the
* default pipeline, except that optimizers mitosis & dataflow are
@@ -256,7 +256,6 @@ static struct PIPELINES {
"optimizer.querylog();"
"optimizer.multiplex();"
"optimizer.generator();"
- "optimizer.profiler();"
"optimizer.candidates();"
//"optimizer.mask();"
"optimizer.deadcode();"
@@ -264,6 +263,7 @@ static struct PIPELINES {
// "optimizer.jit();" awaiting the new batcalc api
"optimizer.wlc();"
"optimizer.garbageCollector();",
+ "optimizer.profiler();"
"stable", NULL, 1},
/* Experimental pipelines stressing various components under
* development. Do not use any of these pipelines in production
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,29 +29,30 @@ query TTT nosort
select * from optimizers()
----
minimal_pipe
-optimizer.inline();optimizer.remap();optimizer.bincopyfrom();optimizer.deadcode();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.garbageCollector();
-stable
+optimizer.inline();optimizer.remap();optimizer.bincopyfrom();optimizer.deadcode();optimizer.multiplex();optimizer.generator();optimizer.garbageCollector();
+optimizer.profiler();stable
minimal_fast
optimizer.minimalfast()
stable
default_pipe
-optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.deadcode();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.bincopyfrom();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.matpack();optimizer.reorder();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();
-stable
+optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.deadcode();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.bincopyfrom();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.matpack();optimizer.reorder();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();
+optimizer.profiler();stable
default_fast
optimizer.defaultfast()
stable
oltp_pipe
-optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.deadcode();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.bincopyfrom();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.matpack();optimizer.reorder();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.oltp();optimizer.wlc();optimizer.garbageCollector();
-stable
+optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.deadcode();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.bincopyfrom();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.matpack();optimizer.reorder();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.oltp();optimizer.wlc();optimizer.garbageCollector();
+optimizer.profiler();stable
volcano_pipe
-optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.deadcode();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.bincopyfrom();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.matpack();optimizer.reorder();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.volcano();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();
-stable
+optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.deadcode();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.bincopyfrom();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.matpack();optimizer.reorder();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.volcano();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();
+optimizer.profiler();stable
no_mitosis_pipe
-optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.deadcode();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.bincopyfrom();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.matpack();optimizer.reorder();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();
-stable
+optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.deadcode();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.bincopyfrom();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.matpack();optimizer.reorder();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();
+optimizer.profiler();stable
sequential_pipe
-optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.deadcode();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.bincopyfrom();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.matpack();optimizer.reorder();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();
-stable
+optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.deadcode();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.bincopyfrom();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.matpack();optimizer.reorder();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();
+optimizer.profiler();stable
statement ok
set optimizer='default_pipe'
+
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list