Changeset: ee5f262b92c5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ee5f262b92c5
Modified Files:
monetdb5/optimizer/opt_mitosis.c
Branch: Feb2013
Log Message:
mitosis needs to bail out on all non partitionable (ugh) aggregation
functions (ie only count,sum,prod,min,max for now)
diffs (27 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
@@ -67,7 +67,12 @@ OPTmitosisImplementation(Client cntxt, M
getFunctionId(p) == mark_grpRef || getFunctionId(p) ==
dense_rank_grpRef))
return 0;
- if (getModuleId(p) == aggrRef && getFunctionId(p) ==
submedianRef)
+ if (p->argc > 2 && getModuleId(p) == aggrRef &&
+ getFunctionId(p) != subcountRef &&
+ getFunctionId(p) != subminRef &&
+ getFunctionId(p) != submaxRef &&
+ getFunctionId(p) != subsumRef &&
+ getFunctionId(p) != subprodRef)
return 0;
/* Mergetable cannot handle intersect/except's for now */
if (getModuleId(p) == algebraRef && getFunctionId(p) ==
groupbyRef)
@@ -237,5 +242,9 @@ OPTmitosisImplementation(Client cntxt, M
if (upd)
pushInstruction(mb, matr);
}
+ for (; i<limit; i++)
+ if (old[i])
+ pushInstruction(mb,old[i]);
+ GDKfree(old);
return 1;
}
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list