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

Avoid static evaluation of unsafe functions
The routine mmath.rand() may not be evaluated
at optimizer time. It could be called within a loop.


diffs (17 lines):

diff --git a/monetdb5/optimizer/opt_evaluate.c 
b/monetdb5/optimizer/opt_evaluate.c
--- a/monetdb5/optimizer/opt_evaluate.c
+++ b/monetdb5/optimizer/opt_evaluate.c
@@ -35,9 +35,12 @@ OPTallConstant(Client cntxt, MalBlkPtr m
        for (i = p->retc; i < p->argc; i++)
                if (isVarConstant(mb, getArg(p, i)) == FALSE)
                        return FALSE;
-       for (i = 0; i < p->retc; i++)
+       for (i = 0; i < p->retc; i++) {
                if (isaBatType(getArgType(mb, p, i)))
                        return FALSE;
+               if ( varGetProp(mb, getArg(p,i), unsafeProp) != NULL )
+                       return FALSE;
+       }
        return TRUE;
 }
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to