Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Performance optimization for the sqlite3ExprListDelete() routine. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
2764aeaa11f38cf2ff4d6191e6d5466d |
User & Date: | drh 2016-04-11 18:25:05.809 |
Context
2016-04-11
| ||
19:01 | Performance optimization to sqlite3Dequote() and its callers. (check-in: 9efe2265b1 user: drh tags: trunk) | |
18:50 | Merge latest trunk changes with this branch. (check-in: ffc62af1d5 user: dan tags: tempfiles-lazy-open) | |
18:25 | Performance optimization for the sqlite3ExprListDelete() routine. (check-in: 2764aeaa11 user: drh tags: trunk) | |
18:15 | Performance optimizations in the column cache of the code generator, and especially the sqlite3ExprCacheRemove() routine. (check-in: e35b345cf8 user: drh tags: trunk) | |
Changes
Changes to src/expr.c.
︙ | ︙ | |||
1274 1275 1276 1277 1278 1279 1280 | sqlite3ErrorMsg(pParse, "too many columns in %s", zObject); } } /* ** Delete an entire expression list. */ | | < > > > | 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 | sqlite3ErrorMsg(pParse, "too many columns in %s", zObject); } } /* ** Delete an entire expression list. */ static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){ int i; struct ExprList_item *pItem; assert( pList->a!=0 || pList->nExpr==0 ); for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){ sqlite3ExprDelete(db, pItem->pExpr); sqlite3DbFree(db, pItem->zName); sqlite3DbFree(db, pItem->zSpan); } 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 ** ExprList. */ u32 sqlite3ExprListFlags(const ExprList *pList){ |
︙ | ︙ |