]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Small performance improvement in sqlite3BtreeTransferRow().
authordrh <>
Mon, 21 Nov 2022 13:35:00 +0000 (13:35 +0000)
committerdrh <>
Mon, 21 Nov 2022 13:35:00 +0000 (13:35 +0000)
FossilOrigin-Name: dab959ea3edf99788bfd76352cd46a3e56876b0e7d7008c6927aa14534853c50

manifest
manifest.uuid
src/btree.c

index e7f833fab3dbe061477d3836c25175a103871c6c..4cd29a45bd0c3f73ba58fe8526c9a9cfc698ae96 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\snew\sJS\stests\sdir\sto\sthose\spushed\sto\sthe\stest\sserver.
-D 2022-11-21T06:07:22.911
+C Small\sperformance\simprovement\sin\ssqlite3BtreeTransferRow().
+D 2022-11-21T13:35:00.374
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -580,7 +580,7 @@ F src/auth.c f4fa91b6a90bbc8e0d0f738aa284551739c9543a367071f55574681e0f24f8cf
 F src/backup.c a2891172438e385fdbe97c11c9745676bec54f518d4447090af97189fd8e52d7
 F src/bitvec.c 7c849aac407230278445cb069bebc5f89bf2ddd87c5ed9459b070a9175707b3d
 F src/btmutex.c 6ffb0a22c19e2f9110be0964d0731d2ef1c67b5f7fabfbaeb7b9dabc4b7740ca
-F src/btree.c 308474d81388fa8b4fb92da7b2c73cae864c1ac468a7a5ffab61670af4b488f0
+F src/btree.c 89e0e5af46d1921a0a1d17bc5ec95cd0ec89b050b32373d825c76b5d3f3a2ec9
 F src/btree.h 4fcbb0b041013071dd5e9f53c538d49916c092e6ad8842185985e5270a0792de
 F src/btreeInt.h 8ce1332edd89dfd2461d561ac10a0ab5601c8e06200cb5230596c3caaf54482e
 F src/build.c d3e43e950e4e377c1d451a4862556792acdef1faba14a03f899d30d09731c48b
@@ -2059,8 +2059,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P a8d4da1501d411085ec2fd48c4a056c8b1d97ef3c3203c5b403a854ac2864870
-R de977a34ec9f33a01661a43c62f057f6
-U stephan
-Z 6c2e6c110bc94fae29d67ff59b3bd9c5
+P 07182dca9f2a4ffea1af0684c93e55e105465b2ee9820c70764e3e7bc1c28efc
+R 06d7ab66cd3f5a521e55d8df4889b401
+U drh
+Z a6fa3008dc4759fddba2bf18530ff99d
 # Remove this line to create a well-formed Fossil manifest.
index b925e621f19ce424f70d5ec250592d2ae29bcb60..e7e8aac79fc25ced7aaf0eb26a482c486818e2bd 100644 (file)
@@ -1 +1 @@
-07182dca9f2a4ffea1af0684c93e55e105465b2ee9820c70764e3e7bc1c28efc
\ No newline at end of file
+dab959ea3edf99788bfd76352cd46a3e56876b0e7d7008c6927aa14534853c50
\ No newline at end of file
index 114136bc505c20c8ad250aefa2bb457838328283..83ebc3d3f5cbab0cfa7891a0d48f0597fbad3a4a 100644 (file)
@@ -9314,7 +9314,6 @@ end_insert:
 ** SQLITE_OK is returned if successful, or an SQLite error code otherwise.
 */
 int sqlite3BtreeTransferRow(BtCursor *pDest, BtCursor *pSrc, i64 iKey){
-  int rc = SQLITE_OK;
   BtShared *pBt = pDest->pBt;
   u8 *aOut = pBt->pTmpSpace;    /* Pointer to next output buffer */
   const u8 *aIn;                /* Pointer to next input buffer */
@@ -9337,7 +9336,9 @@ int sqlite3BtreeTransferRow(BtCursor *pDest, BtCursor *pSrc, i64 iKey){
   if( nIn==nRem && nIn<pDest->pPage->maxLocal ){
     memcpy(aOut, aIn, nIn);
     pBt->nPreformatSize = nIn + (aOut - pBt->pTmpSpace);
+    return SQLITE_OK;
   }else{
+    int rc = SQLITE_OK;
     Pager *pSrcPager = pSrc->pBt->pPager;
     u8 *pPgnoOut = 0;
     Pgno ovflIn = 0;
@@ -9405,9 +9406,8 @@ int sqlite3BtreeTransferRow(BtCursor *pDest, BtCursor *pSrc, i64 iKey){
   
     releasePage(pPageOut);
     sqlite3PagerUnref(pPageIn);
+    return rc;
   }
-
-  return rc;
 }
 
 /*