]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix another bug in the incremental merge code.
authordan <dan@noemail.net>
Wed, 14 Mar 2012 11:51:31 +0000 (11:51 +0000)
committerdan <dan@noemail.net>
Wed, 14 Mar 2012 11:51:31 +0000 (11:51 +0000)
FossilOrigin-Name: f97b12e0955c4c29f9c31a186d72d87f7407782e

ext/fts3/fts3_write.c
manifest
manifest.uuid

index c7f61219b51a4a69b55a19096c1ffd5c3a6e188e..3f033361e51d28b19a561a26d6160b3d3112a34c 100644 (file)
@@ -3726,8 +3726,7 @@ static int fts3IncrmergeLoad(
       }
 
       pLayer = &pWriter->aLayer[nHeight];
-      pLayer->iBlock = pWriter->iStart;
-      pLayer->iBlock += pWriter->nLeafEst*FTS_MAX_APPENDABLE_HEIGHT;
+      pLayer->iBlock = pWriter->iStart + pWriter->nLeafEst*nHeight;
       blobGrowBuffer(&pLayer->block, MAX(nRoot, p->nNodeSize), &rc);
       if( rc==SQLITE_OK ){
         memcpy(pLayer->block.a, aRoot, nRoot);
@@ -3750,7 +3749,7 @@ static int fts3IncrmergeLoad(
             pLayer = &pWriter->aLayer[i-1];
             pLayer->iBlock = reader.iChild;
             rc = sqlite3Fts3ReadBlock(p, reader.iChild, &aBlock, &nBlock, 0);
-            blobGrowBuffer(&pLayer->block, nBlock, &rc);
+            blobGrowBuffer(&pLayer->block, MAX(nBlock, p->nNodeSize), &rc);
             if( rc==SQLITE_OK ){
               memcpy(pLayer->block.a, aBlock, nBlock);
               pLayer->block.n = nBlock;
index 2a7a5b68da050b7ad253131e7208d4d3ebd2ebf9..321984d2abac449e5dfcafa2c8998c9473fea03e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\ssome\sbugs\sin\sthe\sincremental\smerge\scode.\sSome\sremain.
-D 2012-03-13T19:56:34.883
+C Fix\sanother\sbug\sin\sthe\sincremental\smerge\scode.
+D 2012-03-14T11:51:31.020
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 3f79a373e57c3b92dabf76f40b065e719d31ac34
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -78,7 +78,7 @@ F ext/fts3/fts3_test.c 6b7cc68aef4efb084e1449f7d20c4b20d3bdf6b4
 F ext/fts3/fts3_tokenizer.c 3da7254a9881f7e270ab28e2004e0d22b3212bce
 F ext/fts3/fts3_tokenizer.h 66dec98e365854b6cd2d54f1a96bb6d428fc5a68
 F ext/fts3/fts3_tokenizer1.c 0dde8f307b8045565cf63797ba9acfaff1c50c68
-F ext/fts3/fts3_write.c d26ef19833b4a5058f4bd0c8b9f00b3d197d0e28
+F ext/fts3/fts3_write.c 828b6395666e1e6fba0f762c14a3c5a3c074d7d1
 F ext/fts3/fts3speed.tcl b54caf6a18d38174f1a6e84219950d85e98bb1e9
 F ext/fts3/mkfts3amal.tcl 252ecb7fe6467854f2aa237bf2c390b74e71f100
 F ext/icu/README.txt bf8461d8cdc6b8f514c080e4e10dc3b2bbdfefa9
@@ -993,7 +993,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
 F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
-P a1747086c5e0c152fcf4bd9fa80a61b6f03f4a94
-R 4dfb01ab70bf7b72368d08052c15c6ea
+P bff21683705a61b8b8672e0b44c287d1dc7c32a9
+R 9f60203a889705a2753ea10821ad5057
 U dan
-Z 2b44052e1e88ac3fc7ddfb07e6e262a4
+Z 0463fff5f4e61a05ca6743e1edc364a0
index 68a7e3aa67e2d4c2fed8b57a8a751b77d6dee553..f29dd9b13ac6f8adb852d1435f46629a3534a903 100644 (file)
@@ -1 +1 @@
-bff21683705a61b8b8672e0b44c287d1dc7c32a9
\ No newline at end of file
+f97b12e0955c4c29f9c31a186d72d87f7407782e
\ No newline at end of file