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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list