diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/resolve.c | 3 | ||||
-rw-r--r-- | src/where.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/resolve.c b/src/resolve.c index 5f238e102..0abd61d39 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -579,7 +579,8 @@ static int exprProbability(Expr *p){ double r = -1.0; if( p->op!=TK_FLOAT ) return -1; sqlite3AtoF(p->u.zToken, &r, sqlite3Strlen30(p->u.zToken), SQLITE_UTF8); - if( r<0.0 || r>1.0 ) return -1; + assert( r>=0.0 ); + if( r>1.0 ) return -1; return (int)(r*1000.0); } diff --git a/src/where.c b/src/where.c index f2ecb7640..540ab075e 100644 --- a/src/where.c +++ b/src/where.c @@ -691,7 +691,7 @@ static int whereClauseInsert(WhereClause *pWC, Expr *p, u8 wtFlags){ pTerm = &pWC->a[idx = pWC->nTerm++]; if( wtFlags & TERM_VIRTUAL ){ pTerm->truthProb = 0; - }else if( p && ExprHasAnyProperty(p, EP_Hint) ){ + }else if( ALWAYS(p) && ExprHasAnyProperty(p, EP_Hint) ){ pTerm->truthProb = whereCost(p->iTable) - 99; }else{ pTerm->truthProb = -1; |