From: drh Date: Thu, 14 Jul 2016 19:48:08 +0000 (+0000) Subject: Minor tweak the the b-tree balancer. X-Git-Tag: version-3.14.0~55^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fheads%2Fbtree-tuning;p=thirdparty%2Fsqlite.git Minor tweak the the b-tree balancer. FossilOrigin-Name: d2a0af7a37e390439c3001fedb5834f47fb24a1f --- diff --git a/manifest b/manifest index 966b26fc0e..47fc104dda 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sALTER\sTABLE\sso\sthat\sit\sdoes\snot\spromote\sthe\sschema\sversion\spast\s3,\sas\nthat\swill\scause\sDESC\sindexes\sto\sgo\scorrupt.\nTicket\s[f68bf68513a1c]. -D 2016-07-14T19:13:11.812 +C Minor\stweak\sthe\sthe\sb-tree\sbalancer. +D 2016-07-14T19:48:08.366 F Makefile.in 6c20d44f72d4564f11652b26291a214c8367e5db F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc d66d0395c38571aab3804f8db0fa20707ae4609a @@ -327,7 +327,7 @@ F src/auth.c b56c78ebe40a2110fd361379f7e8162d23f92240 F src/backup.c 6df65fdd569c901a418887a1a76f82ec35044556 F src/bitvec.c 3ee4c8b2c94ed3a7377256e18199e6ff5cf33f63 F src/btmutex.c bc87dd3b062cc26edfe79918de2200ccb8d41e73 -F src/btree.c dc4e5f3e95fd57b610422e36e0913662ecd6814c +F src/btree.c 6a42efa461cf3a0c33e8755e9d236371ac80d1b3 F src/btree.h 075c45707c0f8f8af118f739f36df8098a08b7da F src/btreeInt.h c18b7d2a3494695133e4e60ee36061d37f45d9a5 F src/build.c d1fdfd7ab8f5447e494ef15825973bf0719527c6 @@ -1505,7 +1505,10 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 824b39e54fb9ba562be4d92cc9a54aee1cdf84cb -R 7d842c7254944c448483c1d7ddff9ad6 +P a7db6e45ad45be9b3003f61d4163f543498a7c9d +R cf8c76c330a7fe6ea73db33dfc44a97f +T *branch * btree-tuning +T *sym-btree-tuning * +T -sym-trunk * U drh -Z f6a6c237e43006b812e6af2a3e69c586 +Z 48948e5bf85e9b289f89aa7970884ba4 diff --git a/manifest.uuid b/manifest.uuid index 1fc14b81a9..467d7f99b2 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a7db6e45ad45be9b3003f61d4163f543498a7c9d \ No newline at end of file +d2a0af7a37e390439c3001fedb5834f47fb24a1f \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index 7fc9193dc8..8ea20b9ad0 100644 --- a/src/btree.c +++ b/src/btree.c @@ -7340,7 +7340,7 @@ static int balance_nonroot( assert( r szLeft-(b.szCell[r]+2)) ){ + && (bBulk || szRight+b.szCell[d]+2 > szLeft-(b.szCell[r]+(i==k-1?0:2)))){ break; } szRight += b.szCell[d] + 2;