]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Avoid a few unnecessary calls to sqlite3BtreeMovetoUnpacked().
authordrh <drh@noemail.net>
Thu, 10 Nov 2016 20:42:08 +0000 (20:42 +0000)
committerdrh <drh@noemail.net>
Thu, 10 Nov 2016 20:42:08 +0000 (20:42 +0000)
FossilOrigin-Name: eac0e827a61cfec4dd9b6d407ff398e9fda3510b

manifest
manifest.uuid
src/btree.c

index 0d7e6089a8d5d4b63cdd77992aea1bedd5b9fc55..815694d6be0b4bb31cb169f7607e89963f2b2e3c 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C When\sdoing\sa\sREPLACE\son\sa\sWITHOUT\sROWID\stable\swith\sno\ssecondary\sindexes,\nbypass\sthe\sOP_NoConflict/OP_Delete\ssequence\sand\sdirectly\soverwrite\sany\npreexisting\srow,\sfor\sa\sperformance\sincrease.
-D 2016-11-10T17:01:36.523
+C Avoid\sa\sfew\sunnecessary\scalls\sto\ssqlite3BtreeMovetoUnpacked().
+D 2016-11-10T20:42:08.396
 F Makefile.in 6fd48ffcf7c2deea7499062d1f3747f986c19678
 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
 F Makefile.msc e0217f2d35a0448abbe4b066132ae20136e8b408
@@ -330,7 +330,7 @@ F src/auth.c 930b376a9c56998557367e6f7f8aaeac82a2a792
 F src/backup.c faf17e60b43233c214aae6a8179d24503a61e83b
 F src/bitvec.c 3ee4c8b2c94ed3a7377256e18199e6ff5cf33f63
 F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73
-F src/btree.c d1a3d691917cb7d67d50318aef990d8f30d172c7
+F src/btree.c 592a72c259752b3cae6928e3f2448a2cb540b032
 F src/btree.h 630303068c82a359f6ddf202b205ae927721b090
 F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5
 F src/build.c 178f16698cbcb43402c343a9413fe22c99ffee21
@@ -1530,7 +1530,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 42f8aa6231bf4ed74bebdc85aa79d23dc20b3c14
-R 67c1c35ade05c28c79c38b3258d2929f
+P f7041cbb63b912f9ecad538804b6f2383efbec4e
+R d3d5f8b510b4445e2e54b3c5a8a5e3a5
 U drh
-Z 9380b641677b007c43aa332b4ac80a39
+Z 4683912e0f389e0006dbaa0668a519e9
index cc923dbb7450fa6ac205eb2ba4586899c69c92e9..49b87ea86628d021a3dd932e23091342246aced4 100644 (file)
@@ -1 +1 @@
-f7041cbb63b912f9ecad538804b6f2383efbec4e
\ No newline at end of file
+eac0e827a61cfec4dd9b6d407ff398e9fda3510b
\ No newline at end of file
index b92b6018b48cef016ac6cc4e9fa973dd1500863a..78c4677d25f2af004c72aa077862466630c51dec 100644 (file)
@@ -8013,9 +8013,11 @@ int sqlite3BtreeInsert(
     /* If the cursor is currently on the last row and we are appending a
     ** new row onto the end, set the "loc" to avoid an unnecessary
     ** btreeMoveto() call */
-    if( (pCur->curFlags&BTCF_ValidNKey)!=0 && pX->nKey>0
-      && pCur->info.nKey==pX->nKey-1 ){
-       loc = -1;
+    if( (pCur->curFlags&BTCF_ValidNKey)!=0 && pX->nKey==pCur->info.nKey ){
+      loc = 0;
+    }else if( (pCur->curFlags&BTCF_ValidNKey)!=0 && pX->nKey>0
+               && pCur->info.nKey==pX->nKey-1 ){
+      loc = -1;
     }else if( loc==0 ){
       rc = sqlite3BtreeMovetoUnpacked(pCur, 0, pX->nKey, appendBias, &loc);
       if( rc ) return rc;