diff options
author | drh <drh@noemail.net> | 2016-04-11 18:25:05 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-04-11 18:25:05 +0000 |
commit | affa855c94167e78b10d8b3bdbc1950aa30e695d (patch) | |
tree | aef3140e4b648af46d8a9597c917f13cb00c6d7e /src/expr.c | |
parent | bea119cdebd9fa581302c0e3f5d8c31ca0628965 (diff) | |
download | sqlite-affa855c94167e78b10d8b3bdbc1950aa30e695d.tar.gz sqlite-affa855c94167e78b10d8b3bdbc1950aa30e695d.zip |
Performance optimization for the sqlite3ExprListDelete() routine.
FossilOrigin-Name: 2764aeaa11f38cf2ff4d6191e6d5466ddb203022
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/expr.c b/src/expr.c index 37a7624db..0de6378c0 100644 --- a/src/expr.c +++ b/src/expr.c @@ -1278,10 +1278,9 @@ void sqlite3ExprListCheckLength( /* ** Delete an entire expression list. */ -void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){ +static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){ int i; struct ExprList_item *pItem; - if( pList==0 ) return; assert( pList->a!=0 || pList->nExpr==0 ); for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){ sqlite3ExprDelete(db, pItem->pExpr); @@ -1291,6 +1290,9 @@ void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){ sqlite3DbFree(db, pList->a); sqlite3DbFree(db, pList); } +void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){ + if( pList ) exprListDeleteNN(db, pList); +} /* ** Return the bitwise-OR of all Expr.flags fields in the given |