Changeset: 371633e5810b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=371633e5810b
Modified Files:
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_pipes.h
        sql/backends/monet5/sql.mx
        sql/scripts/25_debug.sql
Branch: default
Log Message:

Add pipeline status to report


diffs (truncated from 322 to 300 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
@@ -44,6 +44,7 @@
 struct PIPELINES{
        char *name;
        char *def;
+       char *status;
        char *prerequisite;
        MalBlkPtr mb;
 } pipes[MAXOPTPIPES] ={
@@ -54,7 +55,7 @@ struct PIPELINES{
        "optimizer.deadcode();"
        "optimizer.multiplex();"
        "optimizer.garbageCollector();", 
-       0,0},
+       "stable",0,0},
 
 /*
  * The default pipe line contains as of Feb2010 mitosis-mergetable-reorder,
@@ -81,7 +82,7 @@ struct PIPELINES{
        "optimizer.multiplex();"
        "optimizer.accumulators();"
        "optimizer.garbageCollector();",
-        0,0},
+        "stable",0,0},
 
 /*
  * The no_mitosis pipe line is (and should be kept!) identical to the default 
pipeline,
@@ -109,7 +110,7 @@ struct PIPELINES{
        "optimizer.multiplex();"
        "optimizer.accumulators();"
        "optimizer.garbageCollector();",
-       0,0},
+       "stable",0,0},
 
 /* The sequential pipe line is (and should be kept!) identical to the default 
pipeline,
  * except that optimizers mitosis & dataflow are omitted.  It is use mainly to 
make some
@@ -134,7 +135,7 @@ struct PIPELINES{
        "optimizer.multiplex();"
        "optimizer.accumulators();"
        "optimizer.garbageCollector();",
-        0,0 },
+       "stable", 0,0 },
 
 /* The default pipeline used in the November 2009 release
 { "nov2009_pipe",      
@@ -156,7 +157,7 @@ struct PIPELINES{
        "optimizer.history();"
        "optimizer.multiplex();"
        "optimizer.garbageCollector();",
-       0,0},
+       "stable",0,0},
 */
 
 /*
@@ -184,7 +185,7 @@ struct PIPELINES{
        "optimizer.replication();"
        "optimizer.multiplex();"
        "optimizer.garbageCollector();",
-        0,0 },
+       "experimental",0,0 },
 */
 
 {"accumulator_pipe",   
@@ -207,7 +208,7 @@ struct PIPELINES{
        "optimizer.multiplex();"
        "optimizer.accumulators();"
        "optimizer.garbageCollector();",
-       0,0},
+     "stable",0,0},
 
 {"recycler_pipe",      
        "optimizer.inline();"
@@ -226,49 +227,49 @@ struct PIPELINES{
        "optimizer.history();"
        "optimizer.multiplex();"
        "optimizer.garbageCollector();",
-       0,0},
+       "experimental",0,0},
 
 {"cracker_pipe",       
-"optimizer.inline();"
-"optimizer.remap();"
-"optimizer.evaluate();"
-"optimizer.costModel();"
-"optimizer.coercions();"
-"optimizer.emptySet();"
-"optimizer.aliases();"
-"optimizer.selcrack();"
-"optimizer.deadcode();"
-"optimizer.commonTerms();"
-"optimizer.joinPath();"
-"optimizer.reorder();"
-"optimizer.deadcode();"
-"optimizer.reduce();"
-"optimizer.dataflow();"
-"optimizer.history();"
-"optimizer.multiplex();"
-"optimizer.garbageCollector();",
-"OPTselcrack",0},
+       "optimizer.inline();"
+       "optimizer.remap();"
+       "optimizer.evaluate();"
+       "optimizer.costModel();"
+       "optimizer.coercions();"
+       "optimizer.emptySet();"
+       "optimizer.aliases();"
+       "optimizer.selcrack();"
+       "optimizer.deadcode();"
+       "optimizer.commonTerms();"
+       "optimizer.joinPath();"
+       "optimizer.reorder();"
+       "optimizer.deadcode();"
+       "optimizer.reduce();"
+       "optimizer.dataflow();"
+       "optimizer.history();"
+       "optimizer.multiplex();"
+       "optimizer.garbageCollector();",
+       "experimental","OPTselcrack",0},
 
 {"sidcrack_pipe",      
-"optimizer.inline();"
-"optimizer.remap();"
-"optimizer.evaluate();"
-"optimizer.costModel();"
-"optimizer.coercions();"
-"optimizer.emptySet();"
-"optimizer.aliases();"
-"optimizer.sidcrack();"
-"optimizer.deadcode();"
-"optimizer.commonTerms();"
-"optimizer.joinPath();"
-"optimizer.reorder();"
-"optimizer.deadcode();"
-"optimizer.reduce();"
-"optimizer.dataflow();"
-"optimizer.history();"
-"optimizer.multiplex();"
-"optimizer.garbageCollector();",
-"OPTsidcrack",0},
+       "optimizer.inline();"
+       "optimizer.remap();"
+       "optimizer.evaluate();"
+       "optimizer.costModel();"
+       "optimizer.coercions();"
+       "optimizer.emptySet();"
+       "optimizer.aliases();"
+       "optimizer.sidcrack();"
+       "optimizer.deadcode();"
+       "optimizer.commonTerms();"
+       "optimizer.joinPath();"
+       "optimizer.reorder();"
+       "optimizer.deadcode();"
+       "optimizer.reduce();"
+       "optimizer.dataflow();"
+       "optimizer.history();"
+       "optimizer.multiplex();"
+       "optimizer.garbageCollector();",
+       "experimental","OPTsidcrack",0},
 
 /*
  * The Octopus pipeline for distributed processing (Merovingian enabled 
platforms only)
@@ -296,7 +297,7 @@ struct PIPELINES{
        "optimizer.history();"
        "optimizer.multiplex();"
        "optimizer.garbageCollector();",
-       "OPToctopus",0 },
+       "experimental", "OPToctopus",0 },
 /* 
  * The centipede pipe line aims at a map-reduce style of query processing
 */
@@ -321,7 +322,7 @@ struct PIPELINES{
        "optimizer.multiplex();"
        "optimizer.accumulators();"
        "optimizer.garbageCollector();",
-       "OPTcentipede",0 },
+       "experimental", "OPTcentipede",0 },
 #endif
 
 {"datacell_pipe",
@@ -347,7 +348,7 @@ struct PIPELINES{
        "optimizer.multiplex();"
        "optimizer.accumulators();"
        "optimizer.garbageCollector();",
-       "OPTdatacell",0},
+       "experimental", "OPTdatacell",0},
 
 /* The default + datacyclotron*/
 {"datacyclotron_pipe", 
@@ -371,31 +372,7 @@ struct PIPELINES{
        /* "optimizer.replication();" not used */
        "optimizer.multiplex();"
        "optimizer.garbageCollector();",
-       "OPTdatacyclotron",0},
-
-/* The default + derivePath" */
-{"derive_pipe",        
-       "optimizer.inline();"
-       "optimizer.remap();"
-       "optimizer.evaluate();"
-       "optimizer.costModel();"
-       "optimizer.coercions();"
-       "optimizer.emptySet();"
-       "optimizer.aliases();"
-       "optimizer.mitosis();"
-       "optimizer.mergetable();"
-       "optimizer.deadcode();"
-       "optimizer.commonTerms();"
-       "optimizer.derivePath();"
-       "optimizer.joinPath();"
-       "optimizer.reorder();"
-       "optimizer.deadcode();"
-       "optimizer.reduce();"
-       "optimizer.dataflow();"
-       "optimizer.history();"
-       "optimizer.multiplex();"
-       "optimizer.garbageCollector();",
-       "OPTderivePath",0},
+       "experimental", "OPTdatacyclotron",0},
 
 /* The default + dictionary*/
 {"dictionary_pipe",    
@@ -418,7 +395,7 @@ struct PIPELINES{
        "optimizer.history();"
        "optimizer.multiplex();"
        "optimizer.garbageCollector();",
-       "OPTdictionary",0},
+       "experimental","OPTdictionary",0},
 
 /* The default + compression */
 {"compression_pipe",   
@@ -442,7 +419,7 @@ struct PIPELINES{
        "optimizer.history();"
        "optimizer.multiplex();"
        "optimizer.garbageCollector();",
-       "OPTcompress",0}
+       "experimental","OPTcompress",0}
 
 };
 #ifdef WIN32
@@ -511,30 +488,42 @@ getPipeDefinition(str name)
 }
 
 str
-getPipeCatalog(int *nme, int *def)
+getPipeCatalog(int *nme, int *def, int *stat)
 {
-       BAT *b,*bn;
+       BAT *b,*bn, *bs;
        int i;
        b= BATnew(TYPE_void, TYPE_str, 20);
        if ( b == NULL)
                throw(MAL, "optimizer.getpipeDefinition", MAL_MALLOC_FAIL );
+
        bn= BATnew(TYPE_void, TYPE_str, 20);
        if ( bn == NULL){
                BBPreleaseref(b->batCacheid);
                throw(MAL, "optimizer.getpipeDefinition", MAL_MALLOC_FAIL );
        }
+
+       bs= BATnew(TYPE_void, TYPE_str, 20);
+       if ( bs == NULL){
+               BBPreleaseref(b->batCacheid);
+               BBPreleaseref(bn->batCacheid);
+               throw(MAL, "optimizer.getpipeDefinition", MAL_MALLOC_FAIL );
+       }
+
        BATseqbase(b,0);
        BATseqbase(bn,0);
+       BATseqbase(bs,0);
        for( i=0; i < MAXOPTPIPES && pipes[i].name; i++){
                if ( pipes[i].prerequisite &&
                        getAddress(GDKout, NULL, optimizerRef, 
pipes[i].prerequisite, TRUE) == NULL)
                continue;
                BUNappend(b,pipes[i].name, FALSE);
                BUNappend(bn,pipes[i].def, FALSE);
+               BUNappend(bs,pipes[i].status, FALSE);
        }
 
        BBPkeepref(*nme= b->batCacheid);
        BBPkeepref(*def= bn->batCacheid);
+       BBPkeepref(*stat= bs->batCacheid);
        return MAL_SUCCEED;
 }
 
diff --git a/monetdb5/optimizer/opt_pipes.h b/monetdb5/optimizer/opt_pipes.h
--- a/monetdb5/optimizer/opt_pipes.h
+++ b/monetdb5/optimizer/opt_pipes.h
@@ -24,7 +24,7 @@
 #include "opt_support.h"
 
 opt_export str getPipeDefinition(str name);
-opt_export str getPipeCatalog(int *nme, int *def);
+opt_export str getPipeCatalog(int *nme, int *def, int *stat);
 opt_export str addPipeDefinition(str name, str pipe);
 opt_export int isOptimizerPipe(str name);
 opt_export str addOptimizerPipe(Client cntxt, MalBlkPtr mb, str name);
diff --git a/sql/backends/monet5/sql.mx b/sql/backends/monet5/sql.mx
--- a/sql/backends/monet5/sql.mx
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to