Changeset: 1290110df036 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1290110df036
Modified Files:
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_support.c
Branch: Jul2015
Log Message:

backport rapi fixes


diffs (69 lines):

diff --git a/monetdb5/optimizer/opt_mitosis.c b/monetdb5/optimizer/opt_mitosis.c
--- a/monetdb5/optimizer/opt_mitosis.c
+++ b/monetdb5/optimizer/opt_mitosis.c
@@ -94,6 +94,11 @@ OPTmitosisImplementation(Client cntxt, M
                        getFunctionId(p) != subsumRef &&
                        getFunctionId(p) != subprodRef)
                        return 0;
+
+               if (p->argc > 2 && getModuleId(p) == rapiRef && 
+                       getFunctionId(p) == subeval_aggrRef)
+                       return 0;
+
                /* Mergetable cannot handle intersect/except's for now */
                if (getModuleId(p) == algebraRef && getFunctionId(p) == 
groupbyRef) 
                        return 0;
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
@@ -183,9 +183,11 @@ str projectRef;
 str putRef;
 str querylogRef;
 str queryRef;
+str rapiRef;
+str batrapiRef;
+str subeval_aggrRef;
 str rankRef;
 str rank_grpRef;
-str rapiRef;
 str reconnectRef;
 str recycleRef;
 str refineRef;
@@ -436,9 +438,11 @@ void optimizerInit(void)
        putRef = putName("put",3);
        querylogRef = putName("querylog",8);
        queryRef = putName("query",5);
+       rapiRef = putName("rapi", 4);
+       batrapiRef = putName("batrapi", 7);
+       subeval_aggrRef = putName("subeval_aggr", 12);
        rankRef = putName("rank", 4);
        rank_grpRef = putName("rank_grp", 8);
-       rapiRef = putName("batrapi", 7);
        reconnectRef = putName("reconnect",9);
        recycleRef = putName("recycle",7);
        refineRef = putName("refine",6);
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
@@ -180,6 +180,9 @@ opt_export  str projectRef;
 opt_export  str putRef;
 opt_export  str querylogRef;
 opt_export  str queryRef;
+opt_export  str rapiRef;
+opt_export  str batrapiRef;
+opt_export  str subeval_aggrRef;
 opt_export  str rankRef;
 opt_export  str rank_grpRef;
 opt_export  str rapiRef;
diff --git a/monetdb5/optimizer/opt_support.c b/monetdb5/optimizer/opt_support.c
--- a/monetdb5/optimizer/opt_support.c
+++ b/monetdb5/optimizer/opt_support.c
@@ -646,7 +646,7 @@ int isMapOp(InstrPtr p){
                 (getModuleId(p) == batcalcRef && getFunctionId(p) != 
mark_grpRef && getFunctionId(p) != rank_grpRef) ||
                 (getModuleId(p) != batcalcRef && getModuleId(p) != batRef && 
strncmp(getModuleId(p), "bat", 3) == 0) ||
                 (getModuleId(p) == mkeyRef)) &&
-                getModuleId(p) != rapiRef;
+                getModuleId(p) != batrapiRef;
 }
 
 int isLikeOp(InstrPtr p){
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to