Changeset: 5ed237c81ac8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5ed237c81ac8
Modified Files:
        monetdb5/optimizer/opt_garbageCollector.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_profiler.c
Branch: default
Log Message:

Merge with Jul2017 branch.


diffs (91 lines):

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
@@ -160,16 +160,14 @@ OPTgarbageCollectorImplementation(Client
 
        /* leave a consistent scope admin behind */
        setVariableScope(mb);
-    /* Defense line against incorrect plans */
-    if( actions > 0){
-        chkTypes(cntxt->usermodule, mb, FALSE);
-        chkFlow(mb);
-        chkDeclarations(mb);
-    }
-    /* keep all actions taken as a post block comment */
+       /* Defense line against incorrect plans */
+       chkTypes(cntxt->usermodule, mb, FALSE);
+       chkFlow(mb);
+       chkDeclarations(mb);
+       /* keep all actions taken as a post block comment */
        usec = GDKusec()- usec;
-    snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","garbagecollector",actions, usec);
-    newComment(mb,buf);
+       snprintf(buf,256,"%-20s actions=%2d time=" LLFMT " 
usec","garbagecollector",actions, usec);
+       newComment(mb,buf);
        if( actions >= 0)
                addtoMalBlkHistory(mb);
 
diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c
--- a/monetdb5/optimizer/opt_prelude.c
+++ b/monetdb5/optimizer/opt_prelude.c
@@ -203,6 +203,7 @@ str optimizerRef;
 str parametersRef;
 str packRef;
 str pack2Ref;
+str packIncrementRef;
 str passRef;
 str partitionRef;
 str pcreRef;
@@ -489,6 +490,7 @@ void optimizerInit(void)
        parametersRef = putName("parameters");
        packRef = putName("pack");
        pack2Ref = putName("pack2");
+       packIncrementRef = putName("packIncrement");
        passRef = putName("pass");
        partitionRef = putName("partition");
        pcreRef = putName("pcre");
diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h
--- a/monetdb5/optimizer/opt_prelude.h
+++ b/monetdb5/optimizer/opt_prelude.h
@@ -197,6 +197,7 @@ mal_export  str optimizerRef;
 mal_export  str parametersRef;
 mal_export  str packRef;
 mal_export  str pack2Ref;
+mal_export  str packIncrementRef;
 mal_export  str passRef;
 mal_export  str partitionRef;
 mal_export  str pcreRef;
diff --git a/monetdb5/optimizer/opt_profiler.c 
b/monetdb5/optimizer/opt_profiler.c
--- a/monetdb5/optimizer/opt_profiler.c
+++ b/monetdb5/optimizer/opt_profiler.c
@@ -72,7 +72,7 @@ OPTprofilerImplementation(Client cntxt, 
                if( getModuleId(p)== sqlRef && getFunctionId(p)== tidRef){
                        getVarSTC(mb,getArg(p,0)) = i;
                } else
-               if( getModuleId(p)== batRef && (getFunctionId(p)== deltaRef || 
getFunctionId(p) == subdeltaRef)){
+               if( getModuleId(p)== sqlRef && (getFunctionId(p)== deltaRef || 
getFunctionId(p) == subdeltaRef)){
                        // inherit property of first argument
                        getVarSTC(mb,getArg(p,0)) = getVarSTC(mb,getArg(p,1));
                } else
@@ -82,7 +82,10 @@ OPTprofilerImplementation(Client cntxt, 
                if( getModuleId(p)== algebraRef && getFunctionId(p)== 
projectionRef){
                        getVarSTC(mb,getArg(p,0)) = 
getVarSTC(mb,getArg(p,p->argc-1));
                } else
-               if( getModuleId(p)== algebraRef && (getFunctionId(p)== 
selectRef || getFunctionId(p) == thetaselectRef)){
+               if( getModuleId(p)== algebraRef && 
+                       (getFunctionId(p)== selectRef || 
+                        getFunctionId(p) == thetaselectRef ||
+                        getFunctionId(p) == selectNotNilRef) ){
                        getVarSTC(mb,getArg(p,0)) = 
getVarSTC(mb,getArg(p,p->retc));
                } else
                if( getModuleId(p)== algebraRef && (getFunctionId(p)== 
likeselectRef || getFunctionId(p) == ilikeselectRef)){
@@ -97,6 +100,9 @@ OPTprofilerImplementation(Client cntxt, 
                          getFunctionId(p) == rangejoinRef )){
                                getVarSTC(mb,getArg(p,0)) = 
getVarSTC(mb,getArg(p,p->retc));
                                getVarSTC(mb,getArg(p,1)) = 
getVarSTC(mb,getArg(p,p->retc +1));
+               } else 
+               if( getModuleId(p)== matRef && getFunctionId(p)== 
packIncrementRef){
+                       getVarSTC(mb,getArg(p,0)) = getVarSTC(mb,getArg(p,1));
                } 
        }
     /* Defense line against incorrect plans */
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to