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

Reply via email to