diff options
author | drh <drh@noemail.net> | 2013-11-21 14:33:48 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2013-11-21 14:33:48 +0000 |
commit | b1fba2868b7e1c1932fe7985658ca409e8bbd6da (patch) | |
tree | 29990af239aec83f676ef1142896e7a0b3b17dab /src/resolve.c | |
parent | e09f43f8b78369852773661c52df015b21ef3932 (diff) | |
download | sqlite-b1fba2868b7e1c1932fe7985658ca409e8bbd6da.tar.gz sqlite-b1fba2868b7e1c1932fe7985658ca409e8bbd6da.zip |
Add the ability to factor constant functions out of inner loops. But do
not factor out non-constant functions, like random().
FossilOrigin-Name: 1b0f779e19a5c0d51eddd2d88db50034d77d132c
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/resolve.c b/src/resolve.c index b5ba80ec7..999c628c0 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -725,6 +725,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ pExpr->op = TK_NULL; return WRC_Prune; } + if( pDef->funcFlags & SQLITE_FUNC_CONSTANT ) ExprSetProperty(pExpr,EP_Constant); } #endif if( is_agg && (pNC->ncFlags & NC_AllowAgg)==0 ){ |