Changeset: bcf39e917224 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bcf39e917224
Modified Files:
        monetdb5/optimizer/opt_multiplex.c
Branch: default
Log Message:

Move algebra.reverse() call outside the loop.


diffs (31 lines):

diff --git a/monetdb5/optimizer/opt_multiplex.c 
b/monetdb5/optimizer/opt_multiplex.c
--- a/monetdb5/optimizer/opt_multiplex.c
+++ b/monetdb5/optimizer/opt_multiplex.c
@@ -87,6 +87,13 @@ OPTexpandMultiplex(Client cntxt, MalBlkP
        /* resB := new(refBat) */
        if (isAnyExpression(getArgType(mb, pci, 0)))
                return createException(MAL, "optimizer.multiplex", "Target type 
is missing");
+       /* x := bat.reverse(A1); */
+       x = newTmpVariable(mb, newBatType(getTailType(getVarType(mb,iter)),
+                                                                         
getHeadType(getVarType(mb,iter))));
+       q = newFcnCall(mb, batRef, reverseRef);
+       getArg(q, 0) = x;
+       q = pushArgument(mb, q, iter);
+
        q = newFcnCall(mb, batRef, newRef);
        resB = getArg(q, 0);
 
@@ -131,12 +138,7 @@ OPTexpandMultiplex(Client cntxt, MalBlkP
                        q = pushArgument(mb, q, getArg(pci, i));
                }
 
-       /* x := bat.reverse(A1); y := algebra.fetch(x,h); */
-       x = newTmpVariable(mb, newBatType(getTailType(getVarType(mb,iter)),
-                                                                         
getHeadType(getVarType(mb,iter))));
-       q = newFcnCall(mb, batRef, reverseRef);
-       getArg(q, 0) = x;
-       q = pushArgument(mb, q, iter);
+       /* y := algebra.fetch(x,h); */
        y = newTmpVariable(mb, getHeadType(getVarType(mb,iter)));
        q = newFcnCall(mb, algebraRef, "fetch");
        getArg(q, 0) = y;
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to