Save a few bytes and a few CPU cycles in sqlite3ExprListDelete() routine.
FossilOrigin-Name: 9e6c939144a129b36bb119120442a4a021e00187783da211315d4bb13acd7c3a
This commit is contained in:
parent
f4dd26c5a0
commit
ac48b751e2
12
manifest
12
manifest
@ -1,5 +1,5 @@
|
|||||||
C Remove\sa\sconditional\smade\sunreachable\sby\sthe\sprevious\sExprList\senhancement.
|
C Save\sa\sfew\sbytes\sand\sa\sfew\sCPU\scycles\sin\ssqlite3ExprListDelete()\sroutine.
|
||||||
D 2017-04-05T11:49:06.526
|
D 2017-04-05T11:57:56.171
|
||||||
F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
|
F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
|
||||||
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
|
||||||
F Makefile.msc a4c0613a18663bda56d8cf76079ab6590a7c3602e54befb4bbdef76bcaa38b6a
|
F Makefile.msc a4c0613a18663bda56d8cf76079ab6590a7c3602e54befb4bbdef76bcaa38b6a
|
||||||
@ -354,7 +354,7 @@ F src/ctime.c 47d91a25ad8f199a71a5b1b7b169d6dd0d6e98c5719eca801568798743d1161c
|
|||||||
F src/date.c ee676e7694dfadbdd2fde1a258a71be8360ba5ae
|
F src/date.c ee676e7694dfadbdd2fde1a258a71be8360ba5ae
|
||||||
F src/dbstat.c 19ee7a4e89979d4df8e44cfac7a8f905ec89b77d
|
F src/dbstat.c 19ee7a4e89979d4df8e44cfac7a8f905ec89b77d
|
||||||
F src/delete.c 0d9d5549d42e79ce4d82ff1db1e6c81e36d2f67c
|
F src/delete.c 0d9d5549d42e79ce4d82ff1db1e6c81e36d2f67c
|
||||||
F src/expr.c d6b2f5ffa944b6ca950db65b572256e6148496bfc779c09b9e9488b8eebc93c2
|
F src/expr.c 15f245fd12596cd86027e1f8d15ba670ffb954189696cd529bbc399f2b5ee473
|
||||||
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
|
F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
|
||||||
F src/fkey.c 2e9aabe1aee76273aff8a84ee92c464e095400ae
|
F src/fkey.c 2e9aabe1aee76273aff8a84ee92c464e095400ae
|
||||||
F src/func.c 9d52522cc8ae7f5cdadfe14594262f1618bc1f86083c4cd6da861b4cf5af6174
|
F src/func.c 9d52522cc8ae7f5cdadfe14594262f1618bc1f86083c4cd6da861b4cf5af6174
|
||||||
@ -1570,7 +1570,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
|||||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||||
P 2b6560ad88b92820c383bcdc1e30c06f8b081ef7c6d9b1af71d2bb76c83e35cd
|
P a1cf44763277b6c745b5b5509ca9129b6c3231608b4d1c8aec2815b64b5a2a07
|
||||||
R 812df0359506624ef6f94f0149739746
|
R 4d8790f73d530cb376a3a651b6d64ad6
|
||||||
U drh
|
U drh
|
||||||
Z 9b5482ae695747ea67bbfbf192e444a1
|
Z 8197639d1fc47aadec64571253c4a3bb
|
||||||
|
@ -1 +1 @@
|
|||||||
a1cf44763277b6c745b5b5509ca9129b6c3231608b4d1c8aec2815b64b5a2a07
|
9e6c939144a129b36bb119120442a4a021e00187783da211315d4bb13acd7c3a
|
10
src/expr.c
10
src/expr.c
@ -1656,13 +1656,15 @@ void sqlite3ExprListCheckLength(
|
|||||||
** Delete an entire expression list.
|
** Delete an entire expression list.
|
||||||
*/
|
*/
|
||||||
static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){
|
static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){
|
||||||
int i;
|
int i = pList->nExpr;
|
||||||
struct ExprList_item *pItem;
|
struct ExprList_item *pItem = pList->a;
|
||||||
for(pItem=pList->a, i=0; i<pList->nExpr; i++, pItem++){
|
assert( pList->nExpr>0 );
|
||||||
|
do{
|
||||||
sqlite3ExprDelete(db, pItem->pExpr);
|
sqlite3ExprDelete(db, pItem->pExpr);
|
||||||
sqlite3DbFree(db, pItem->zName);
|
sqlite3DbFree(db, pItem->zName);
|
||||||
sqlite3DbFree(db, pItem->zSpan);
|
sqlite3DbFree(db, pItem->zSpan);
|
||||||
}
|
pItem++;
|
||||||
|
}while( --i>0 );
|
||||||
sqlite3DbFree(db, pList);
|
sqlite3DbFree(db, pList);
|
||||||
}
|
}
|
||||||
void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
|
void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user