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

Reply via email to