diff options
author | drh <drh@noemail.net> | 2014-10-25 13:42:16 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2014-10-25 13:42:16 +0000 |
commit | d05ab6aacf08a1fd7af581cae4b28390ecd5c44c (patch) | |
tree | a0d6853758bf5745ff18c58bd46a650c12c0cf1c /src/resolve.c | |
parent | 051575cbf4c47fc472f53146e30d6ddddc9054b3 (diff) | |
download | sqlite-d05ab6aacf08a1fd7af581cae4b28390ecd5c44c.tar.gz sqlite-d05ab6aacf08a1fd7af581cae4b28390ecd5c44c.zip |
Increase the resolution of the second parameter to the likelihood() SQL
function (the probability value) so that it can handle probabilities
as small as 0.00000001. Formerly, it ran out of precision at 0.001.
FossilOrigin-Name: 0f08924fe0c52a85a103f67bee9809e0f8f884b0
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/resolve.c b/src/resolve.c index e507ccb81..8fb580b3a 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -584,7 +584,7 @@ static int exprProbability(Expr *p){ sqlite3AtoF(p->u.zToken, &r, sqlite3Strlen30(p->u.zToken), SQLITE_UTF8); assert( r>=0.0 ); if( r>1.0 ) return -1; - return (int)(r*1000.0); + return (int)(r*134217728.0); } /* @@ -716,7 +716,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ ** EVIDENCE-OF: R-53436-40973 The likely(X) function is equivalent to ** likelihood(X,0.9375). */ /* TUNING: unlikely() probability is 0.0625. likely() is 0.9375 */ - pExpr->iTable = pDef->zName[0]=='u' ? 62 : 938; + pExpr->iTable = pDef->zName[0]=='u' ? 8388608 : 125829120; } } #ifndef SQLITE_OMIT_AUTHORIZATION |