Changeset: 23e87f073866 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=23e87f073866 Modified Files: monetdb5/optimizer/opt_pushselect.c monetdb5/optimizer/opt_support.c Branch: default Log Message:
merged with jun2016 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 @@ -170,7 +170,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 @@ -685,19 +685,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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list