Changeset: 8336286fc45c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8336286fc45c
Modified Files:
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_support.c
Branch: Jun2016
Log Message:
proper test for slice functions
diffs (46 lines):
diff --git a/monetdb5/optimizer/opt_pushselect.c
b/monetdb5/optimizer/opt_pushselect.c
--- a/monetdb5/optimizer/opt_pushselect.c
+++ b/monetdb5/optimizer/opt_pushselect.c
@@ -168,7 +168,7 @@ OPTpushselectImplementation(Client cntxt
return 0;
}
- if (getModuleId(p) == algebraRef && getFunctionId(p) ==
sliceRef)
+ if (isSlice(p))
nr_topn++;
if (isLikeOp(p))
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
@@ -670,19 +670,24 @@ int isLikeOp(InstrPtr p){
getFunctionId(p) == not_ilikeRef));
}
-int isTopn(InstrPtr p){
+int
+isTopn(InstrPtr p)
+{
return ((getModuleId(p) == algebraRef && getFunctionId(p) == firstnRef)
||
isSlice(p));
}
-int isSlice(InstrPtr p){
+int
+isSlice(InstrPtr p)
+{
return (getModuleId(p) == algebraRef &&
- getFunctionId(p) == subsliceRef);
+ (getFunctionId(p) == subsliceRef || getFunctionId(p) == sliceRef));
}
-int isSample(InstrPtr p){
- return (getModuleId(p) == sampleRef &&
- getFunctionId(p) == subuniformRef);
+int
+isSample(InstrPtr p)
+{
+ return (getModuleId(p) == sampleRef && getFunctionId(p) ==
subuniformRef);
}
int isOrderby(InstrPtr p){
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list