Changeset: ef61b56d0831 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ef61b56d0831
Modified Files:
        monetdb5/optimizer/opt_aliases.c
        monetdb5/optimizer/opt_candidates.c
        monetdb5/optimizer/opt_coercion.c
        monetdb5/optimizer/opt_commonTerms.c
        monetdb5/optimizer/opt_constants.c
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_dataflow.c
        monetdb5/optimizer/opt_deadcode.c
        monetdb5/optimizer/opt_emptybind.c
        monetdb5/optimizer/opt_evaluate.c
        monetdb5/optimizer/opt_garbageCollector.c
        monetdb5/optimizer/opt_generator.c
        monetdb5/optimizer/opt_inline.c
        monetdb5/optimizer/opt_jit.c
        monetdb5/optimizer/opt_json.c
        monetdb5/optimizer/opt_matpack.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_multiplex.c
        monetdb5/optimizer/opt_oltp.c
        monetdb5/optimizer/opt_profiler.c
        monetdb5/optimizer/opt_projectionpath.c
        monetdb5/optimizer/opt_pushselect.c
        monetdb5/optimizer/opt_querylog.c
        monetdb5/optimizer/opt_reduce.c
        monetdb5/optimizer/opt_remap.c
        monetdb5/optimizer/opt_remoteQueries.c
        monetdb5/optimizer/opt_reorder.c
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_volcano.c
        monetdb5/optimizer/opt_wrapper.c
Branch: default
Log Message:

Prepare optimizers for exception returns
Statistics gathering is replicated in the optimizer itself


diffs (truncated from 779 to 300 lines):

diff --git a/monetdb5/optimizer/opt_aliases.c b/monetdb5/optimizer/opt_aliases.c
--- a/monetdb5/optimizer/opt_aliases.c
+++ b/monetdb5/optimizer/opt_aliases.c
@@ -9,6 +9,7 @@
 #include "monetdb_config.h"
 #include "mal_instruction.h"
 #include "opt_aliases.h"
+#include "opt_statistics.h"
 
 /* an alias is recognized by a simple assignment */
 #define OPTisAlias(X) (X->token == ASSIGNsymbol && X->barrier == 0 && X->argc 
== 2)
@@ -77,9 +78,14 @@ OPTaliasesImplementation(Client cntxt, M
        //chkFlow(cntxt->fdout, mb);
        //chkDeclarations(cntxt->fdout, mb);
        //
-    /* keep all actions taken as a post block comment */
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","aliases",actions,GDKusec()-usec);
+    /* keep all actions taken as a post block comment
+        * and update statics */
+       usec= GDKusec() - usec;
+    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","aliases",actions,usec);
     newComment(mb,buf);
+       QOTupdateStatistics("aliases",actions,usec);
+       if( actions >= 0)
+               addtoMalBlkHistory(mb);
 
        return actions;
 }
diff --git a/monetdb5/optimizer/opt_candidates.c 
b/monetdb5/optimizer/opt_candidates.c
--- a/monetdb5/optimizer/opt_candidates.c
+++ b/monetdb5/optimizer/opt_candidates.c
@@ -13,6 +13,7 @@
 #include "monetdb_config.h"
 #include "mal_instruction.h"
 #include "opt_candidates.h"
+#include "opt_statistics.h"
 
 int
 OPTcandidatesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci)
@@ -80,8 +81,11 @@ OPTcandidatesImplementation(Client cntxt
        //chkFlow(cntxt->fdout, mb);
        //chkDeclarations(cntxt->fdout, mb);
     /* keep all actions taken as a post block comment */
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","candidates",1,GDKusec() -usec);
+       usec = GDKusec()- usec;
+    snprintf(buf,256,"%-20s actions=1 time=" LLFMT " usec","candidates",usec);
     newComment(mb,buf);
+       QOTupdateStatistics("candidates",1,usec);
+       addtoMalBlkHistory(mb);
 
        return 1;
 }
diff --git a/monetdb5/optimizer/opt_coercion.c 
b/monetdb5/optimizer/opt_coercion.c
--- a/monetdb5/optimizer/opt_coercion.c
+++ b/monetdb5/optimizer/opt_coercion.c
@@ -12,6 +12,7 @@
 
 #include "monetdb_config.h"
 #include "opt_coercion.h"
+#include "opt_statistics.h"
 
 typedef struct{
        int pc;
@@ -196,8 +197,12 @@ OPTcoercionImplementation(Client cntxt,M
         chkDeclarations(cntxt->fdout, mb);
     }
     /* keep all actions taken as a post block comment */
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","coercion",actions,GDKusec() - usec);
+       usec = GDKusec()- usec;
+    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","coercion",actions, usec);
     newComment(mb,buf);
+       QOTupdateStatistics("coercion",actions,usec);
+       if( actions >= 0)
+               addtoMalBlkHistory(mb);
 
        return actions;
 }
diff --git a/monetdb5/optimizer/opt_commonTerms.c 
b/monetdb5/optimizer/opt_commonTerms.c
--- a/monetdb5/optimizer/opt_commonTerms.c
+++ b/monetdb5/optimizer/opt_commonTerms.c
@@ -8,6 +8,7 @@
 
 #include "monetdb_config.h"
 #include "opt_commonTerms.h"
+#include "opt_statistics.h"
 #include "mal_exception.h"
  /*
  * Caveat. A lot of time was lost due to constants that are indistinguisable
@@ -179,8 +180,12 @@ OPTcommonTermsImplementation(Client cntx
         chkDeclarations(cntxt->fdout, mb);
     }
     /* keep all actions taken as a post block comment */
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","commonTerms",actions,GDKusec() - usec);
+       usec = GDKusec()- usec;
+    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","commonTerms",actions,usec);
     newComment(mb,buf);
+       QOTupdateStatistics("commonTerms",actions,usec);
+       if( actions >= 0)
+               addtoMalBlkHistory(mb);
 
 wrapup:
        if(alias) GDKfree(alias);
diff --git a/monetdb5/optimizer/opt_constants.c 
b/monetdb5/optimizer/opt_constants.c
--- a/monetdb5/optimizer/opt_constants.c
+++ b/monetdb5/optimizer/opt_constants.c
@@ -20,6 +20,7 @@
  */
 #include "monetdb_config.h"
 #include "mal_instruction.h"
+#include "opt_statistics.h"
 #include "opt_constants.h"
 
 int
@@ -93,8 +94,12 @@ OPTconstantsImplementation(Client cntxt,
        //chkDeclarations(cntxt->fdout, mb);
     
     /* keep all actions taken as a post block comment */
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","constants",actions,GDKusec() - usec);
+       usec = GDKusec()- usec;
+    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","constants",actions,usec);
     newComment(mb,buf);
+       QOTupdateStatistics("constants",actions,usec);
+       if( actions >= 0)
+               addtoMalBlkHistory(mb);
 
 wrapup:
        if( alias) GDKfree(alias);
diff --git a/monetdb5/optimizer/opt_costModel.c 
b/monetdb5/optimizer/opt_costModel.c
--- a/monetdb5/optimizer/opt_costModel.c
+++ b/monetdb5/optimizer/opt_costModel.c
@@ -7,6 +7,7 @@
  */
 
 #include "monetdb_config.h"
+#include "opt_statistics.h"
 #include "opt_costModel.h"
 
 /*
@@ -149,8 +150,11 @@ OPTcostModelImplementation(Client cntxt,
        //chkFlow(cntxt->fdout, mb);
        //chkDeclarations(cntxt->fdout, mb);
     /* keep all actions taken as a post block comment */
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","costmodel",1,GDKusec() - usec);
+       usec = GDKusec()- usec;
+    snprintf(buf,256,"%-20s actions=1 time=" LLFMT " usec","costmodel",usec);
     newComment(mb,buf);
+       QOTupdateStatistics("costmodel",1,usec);
+       addtoMalBlkHistory(mb);
 
        return 1;
 }
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
@@ -11,6 +11,7 @@
  */
 #include "monetdb_config.h"
 #include "opt_dataflow.h"
+#include "opt_statistics.h"
 #include "mal_instruction.h"
 #include "mal_interpreter.h"
 #include "manifold.h"
@@ -317,8 +318,12 @@ OPTdataflowImplementation(Client cntxt, 
                printFunction(cntxt->fdout, mb, 0, LIST_MAL_ALL);
 #endif
     /* keep all actions taken as a post block comment */
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","dataflow",actions,GDKusec() - usec);
+       usec = GDKusec()- usec;
+    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","dataflow",actions,usec);
     newComment(mb,buf);
+       QOTupdateStatistics("dataflow",actions,usec);
+       if( actions >= 0)
+               addtoMalBlkHistory(mb);
 
 wrapup:
        if(states) GDKfree(states);
diff --git a/monetdb5/optimizer/opt_deadcode.c 
b/monetdb5/optimizer/opt_deadcode.c
--- a/monetdb5/optimizer/opt_deadcode.c
+++ b/monetdb5/optimizer/opt_deadcode.c
@@ -9,6 +9,7 @@
 /* (c) Martin Kersten
  */
 #include "monetdb_config.h"
+#include "opt_statistics.h"
 #include "opt_deadcode.h"
 
 int 
@@ -111,8 +112,12 @@ OPTdeadcodeImplementation(Client cntxt, 
         //chkDeclarations(cntxt->fdout, mb);
     //}
     /* keep all actions taken as a post block comment */
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","deadcode",actions, GDKusec() - usec);
+       usec = GDKusec()- usec;
+    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","deadcode",actions, usec);
     newComment(mb,buf);
+       QOTupdateStatistics("deadcode",actions,usec);
+       if( actions >= 0)
+               addtoMalBlkHistory(mb);
 
 wrapup:
        if(old) GDKfree(old);
diff --git a/monetdb5/optimizer/opt_emptybind.c 
b/monetdb5/optimizer/opt_emptybind.c
--- a/monetdb5/optimizer/opt_emptybind.c
+++ b/monetdb5/optimizer/opt_emptybind.c
@@ -18,6 +18,7 @@
 #include "opt_emptybind.h"
 #include "opt_aliases.h"
 #include "opt_deadcode.h"
+#include "opt_statistics.h"
 #include "mal_builder.h"
 
 #define addresult(I)                                                           
        \
@@ -342,7 +343,11 @@ OPTemptybindImplementation(Client cntxt,
        chkDeclarations(cntxt->fdout, mb);
     /* keep all actions taken as a post block comment */
 wrapup:
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","emptybind",actions,GDKusec() - usec);
+       usec = GDKusec()- usec;
+    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","emptybind",actions, usec);
     newComment(mb,buf);
+       QOTupdateStatistics("emptybind",actions,usec);
+       if( actions >= 0)
+               addtoMalBlkHistory(mb);
        return 1;
 }
diff --git a/monetdb5/optimizer/opt_evaluate.c 
b/monetdb5/optimizer/opt_evaluate.c
--- a/monetdb5/optimizer/opt_evaluate.c
+++ b/monetdb5/optimizer/opt_evaluate.c
@@ -9,6 +9,7 @@
 #include "monetdb_config.h"
 #include "opt_evaluate.h"
 #include "opt_aliases.h"
+#include "opt_statistics.h"
 
 static int
 OPTallConstant(Client cntxt, MalBlkPtr mb, InstrPtr p)
@@ -246,8 +247,12 @@ OPTevaluateImplementation(Client cntxt, 
        //chkDeclarations(cntxt->fdout, mb);
     
     /* keep all actions taken as a post block comment */
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","evaluate",actions,GDKusec() -usec);
+       usec = GDKusec()- usec;
+    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","evaluate",actions,usec);
     newComment(mb,buf);
+       QOTupdateStatistics("evaluate",actions,usec);
+       if( actions >= 0)
+               addtoMalBlkHistory(mb);
 
 wrapup:
        if ( env) freeStack(env);
diff --git a/monetdb5/optimizer/opt_garbageCollector.c 
b/monetdb5/optimizer/opt_garbageCollector.c
--- a/monetdb5/optimizer/opt_garbageCollector.c
+++ b/monetdb5/optimizer/opt_garbageCollector.c
@@ -8,6 +8,7 @@
 
 #include "monetdb_config.h"
 #include "opt_garbageCollector.h"
+#include "opt_statistics.h"
 #include "mal_interpreter.h"   /* for showErrors() */
 #include "mal_builder.h"
 #include "mal_function.h"
@@ -160,8 +161,12 @@ OPTgarbageCollectorImplementation(Client
         chkDeclarations(cntxt->fdout, mb);
     }
     /* keep all actions taken as a post block comment */
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","garbagecollector",actions+1,GDKusec() - usec);
+       usec = GDKusec()- usec;
+    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","garbagecollector",actions+1, usec);
     newComment(mb,buf);
+       QOTupdateStatistics("garbagecollector",actions,usec);
+       if( actions >= 0)
+               addtoMalBlkHistory(mb);
 
        return actions+1;
 }
diff --git a/monetdb5/optimizer/opt_generator.c 
b/monetdb5/optimizer/opt_generator.c
--- a/monetdb5/optimizer/opt_generator.c
+++ b/monetdb5/optimizer/opt_generator.c
@@ -8,6 +8,7 @@
 
 #include "monetdb_config.h"
 #include "opt_generator.h"
+#include "opt_statistics.h"
 #include "mal_builder.h"
 
 /*
@@ -170,8 +171,12 @@ OPTgeneratorImplementation(Client cntxt,
        //chkFlow(cntxt->fdout, mb);
        //chkDeclarations(cntxt->fdout, mb);
     /* keep all actions taken as a post block comment */
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","generator",actions,GDKusec() - usec);
+       usec = GDKusec()- usec;
+    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","generator",actions, usec);
     newComment(mb,buf);
+       QOTupdateStatistics("generator",actions,usec);
+       if( actions >= 0)
+               addtoMalBlkHistory(mb);
 
        return actions;
 }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to