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