From: drh <> Date: Mon, 21 Nov 2022 13:35:00 +0000 (+0000) Subject: Small performance improvement in sqlite3BtreeTransferRow(). X-Git-Tag: version-3.41.0~394 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d01dee5e6aef8aebc2932f743c90f41db70e2a7c;p=thirdparty%2Fsqlite.git Small performance improvement in sqlite3BtreeTransferRow(). FossilOrigin-Name: dab959ea3edf99788bfd76352cd46a3e56876b0e7d7008c6927aa14534853c50 --- diff --git a/manifest b/manifest index e7f833fab3..4cd29a45bd 100644 --- 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. diff --git a/manifest.uuid b/manifest.uuid index b925e621f1..e7e8aac79f 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -07182dca9f2a4ffea1af0684c93e55e105465b2ee9820c70764e3e7bc1c28efc \ No newline at end of file +dab959ea3edf99788bfd76352cd46a3e56876b0e7d7008c6927aa14534853c50 \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index 114136bc50..83ebc3d3f5 100644 --- a/src/btree.c +++ b/src/btree.c @@ -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 && nInpPage->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; } /*