diff options
author | drh <drh@noemail.net> | 2016-10-03 18:13:23 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-10-03 18:13:23 +0000 |
commit | a71c743aae992593935a8578aa0ac51b58e08fa7 (patch) | |
tree | 293c222543c968b7854dfe9c0e3a43cf5b119b55 /src/resolve.c | |
parent | c9b39288aeff95dfc49f8edc247ddb705a502000 (diff) | |
download | sqlite-a71c743aae992593935a8578aa0ac51b58e08fa7.tar.gz sqlite-a71c743aae992593935a8578aa0ac51b58e08fa7.zip |
Allow deterministic functions in the WHERE clause of a partial index.
FossilOrigin-Name: c6e9b9421805c904b20900b711fa0e51773aef3e
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/resolve.c b/src/resolve.c index 2171533ef..5654a0438 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -623,7 +623,6 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ /* if( pSrcList==0 ) break; */ notValid(pParse, pNC, "the \".\" operator", NC_IdxExpr); - /*notValid(pParse, pNC, "the \".\" operator", NC_PartIdx|NC_IsCheck, 1);*/ pRight = pExpr->pRight; if( pRight->op==TK_ID ){ zDb = 0; @@ -652,7 +651,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ u8 enc = ENC(pParse->db); /* The database encoding */ assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); - notValid(pParse, pNC, "functions", NC_PartIdx); +// notValid(pParse, pNC, "functions", NC_PartIdx); zId = pExpr->u.zToken; nId = sqlite3Strlen30(zId); pDef = sqlite3FindFunction(pParse->db, zId, n, enc, 0); @@ -712,7 +711,8 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ /* Date/time functions that use 'now', and other functions like ** sqlite_version() that might change over time cannot be used ** in an index. */ - notValid(pParse, pNC, "non-deterministic functions", NC_IdxExpr); + notValid(pParse, pNC, "non-deterministic functions", + NC_IdxExpr|NC_PartIdx); } } if( is_agg && (pNC->ncFlags & NC_AllowAgg)==0 ){ |