]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Optimization of the sqlite3SrcListDelete() routine.
authordrh <drh@noemail.net>
Sat, 15 Aug 2020 23:48:22 +0000 (23:48 +0000)
committerdrh <drh@noemail.net>
Sat, 15 Aug 2020 23:48:22 +0000 (23:48 +0000)
FossilOrigin-Name: 1b4acd1ac4a8d24f8804c6d0770f5b0022f569d51742b6954b26e525f04d38ca

manifest
manifest.uuid
src/build.c

index 211f1eb85192030f04d9c590f920866991c790b7..6d5fca0130935d73d7a7bf3fa56abcef1d1a0e8b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Remove\smore\sunnecessary\ssqlite3GetVdbe()\scalls,\sreplacing\sthem\swith\sassert()s.
-D 2020-08-15T22:23:00.138
+C Optimization\sof\sthe\ssqlite3SrcListDelete()\sroutine.
+D 2020-08-15T23:48:22.883
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -479,7 +479,7 @@ F src/btmutex.c 8acc2f464ee76324bf13310df5692a262b801808984c1b79defb2503bbafadb6
 F src/btree.c 1439fd9b45d4d1883c53752daef42af489adaa1a1508fa39dedbc9c80ea21a2f
 F src/btree.h 7af72bbb4863c331c8f6753277ab40ee67d2a2125a63256d5c25489722ec162b
 F src/btreeInt.h 83166f6daeb91062b6ae9ee6247b3ad07e40eba58f3c05ba9e8dedad4ab1ea38
-F src/build.c bcede98b9ce38cd1cc3c15008e4d5f38ea85ecb2db72f57bd94ff69489b8aa53
+F src/build.c a1aa0478c86a05b5bd7e3faa4aad6beeb2660be91261e479891a13ce1389bd7e
 F src/callback.c d0b853dd413255d2e337b34545e54d888ea02f20da5ad0e63585b389624c4a6c
 F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
 F src/ctime.c e98518d2d3d4029a13c805e07313fb60c877be56db76e90dd5f3af73085d0ce6
@@ -1879,7 +1879,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 86d3790caf92e9cb7a9aaaa110f309b4b6945ac30cfd53fc3e5aa1ec3075ada5
-R 08903bc4cf7f30ac4fc0a04098330b99
+P b7dc932197665f0ebde3ffb8f0785c22da07ce307cfd5f0eab69e86e4b38fcde
+R d589aa20ebd35240a2738ae9990fa667
 U drh
-Z 4655d123e4bb127f684af23738d71086
+Z 740ca2f6298d249a7d9d96f5ff6338d0
index 62ccbc2996a60493d787a8e0f755dbc11a20b463..2f56c8904a817d5910237e54d46aa343bcd91ce9 100644 (file)
@@ -1 +1 @@
-b7dc932197665f0ebde3ffb8f0785c22da07ce307cfd5f0eab69e86e4b38fcde
\ No newline at end of file
+1b4acd1ac4a8d24f8804c6d0770f5b0022f569d51742b6954b26e525f04d38ca
\ No newline at end of file
index a9ae0e008ee68994477fa95730d07b390f64ce97..2b6342ba9b27965ca8113dbd54b8b8bf8f81341c 100644 (file)
@@ -4464,15 +4464,15 @@ void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){
   struct SrcList_item *pItem;
   if( pList==0 ) return;
   for(pItem=pList->a, i=0; i<pList->nSrc; i++, pItem++){
-    sqlite3DbFree(db, pItem->zDatabase);
+    if( pItem->zDatabase ) sqlite3DbFreeNN(db, pItem->zDatabase);
     sqlite3DbFree(db, pItem->zName);
-    sqlite3DbFree(db, pItem->zAlias);
+    if( pItem->zAlias ) sqlite3DbFreeNN(db, pItem->zAlias);
     if( pItem->fg.isIndexedBy ) sqlite3DbFree(db, pItem->u1.zIndexedBy);
     if( pItem->fg.isTabFunc ) sqlite3ExprListDelete(db, pItem->u1.pFuncArg);
     sqlite3DeleteTable(db, pItem->pTab);
-    sqlite3SelectDelete(db, pItem->pSelect);
-    sqlite3ExprDelete(db, pItem->pOn);
-    sqlite3IdListDelete(db, pItem->pUsing);
+    if( pItem->pSelect ) sqlite3SelectDelete(db, pItem->pSelect);
+    if( pItem->pOn ) sqlite3ExprDelete(db, pItem->pOn);
+    if( pItem->pUsing ) sqlite3IdListDelete(db, pItem->pUsing);
   }
   sqlite3DbFreeNN(db, pList);
 }