Remove an unnecessary branch from balance_nonroot().

FossilOrigin-Name: 9fc7c88e3f5221883aa6eafbf8af3be94db0c299
This commit is contained in:
drh
2014-10-31 02:51:41 +00:00
parent 00fe08af82
commit 768f29002e
3 changed files with 19 additions and 18 deletions
+6 -6
View File
@@ -1,5 +1,5 @@
C In\sthe\sbalance_nonroot()\sroutine,\sprotect\sthe\svalues\sin\saPgno[]\sarray\sfrom\nchange\sduring\sthe\spage\ssort,\sso\sthat\saPgno[]\scan\sbe\sused\sto\savoid\sunnecessary\npointer-map\supdates\sfor\sauto_vacuum\sdatabases.
D 2014-10-31T00:05:23.983
C Remove\san\sunnecessary\sbranch\sfrom\sbalance_nonroot().
D 2014-10-31T02:51:41.215
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in cf57f673d77606ab0f2d9627ca52a9ba1464146a
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -172,7 +172,7 @@ F src/auth.c b56c78ebe40a2110fd361379f7e8162d23f92240
F src/backup.c 7f841396adfd47507ff670a471162d2bfcda3136
F src/bitvec.c 19a4ba637bd85f8f63fc8c9bae5ade9fb05ec1cb
F src/btmutex.c 49ca66250c7dfa844a4d4cb8272b87420d27d3a5
F src/btree.c 88c87803b334807da3150245987139baacea4e6e
F src/btree.c 7031b8cec28b4ba853090da021c6c456952f1f92
F src/btree.h a79aa6a71e7f1055f01052b7f821bd1c2dce95c8
F src/btreeInt.h 026d0129724e8f265fdc60d44ec240cf5a4e6179
F src/build.c 67bb05b1077e0cdaccb2e36bfcbe7a5df9ed31e8
@@ -1209,7 +1209,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
P 67adb44838f98805f86aecca634d9a3b07370b9e
R 882446b4b0e231e5d89ec5bd9f22a940
P 69c3924fe834a78d4a8d86833626bf5f68e33a3a
R 85b30d88694d9feacf26ae3f80208908
U drh
Z 021277b745352cb31d525498ae57f1ac
Z 7bc5c33b6cb165c738435440761728db
+1 -1
View File
@@ -1 +1 @@
69c3924fe834a78d4a8d86833626bf5f68e33a3a
9fc7c88e3f5221883aa6eafbf8af3be94db0c299
+12 -11
View File
@@ -7078,19 +7078,20 @@ static int balance_nonroot(
** sets all pointer-map entries corresponding to database image pages
** for which the pointer is stored within the content being copied.
**
** The second assert below verifies that the child page is defragmented
** (it must be, as it was just reconstructed using assemblePage()). This
** is important if the parent page happens to be page 1 of the database
** image. */
** It is critical that the child page be defragmented before being
** copied into the parent, because if the parent is page 1 then it will
** by smaller than the child due to the database header, and so all the
** free space needs to be up front.
*/
assert( nNew==1 );
rc = defragmentPage(apNew[0]);
if( rc==SQLITE_OK ){
assert( apNew[0]->nFree ==
(get2byte(&apNew[0]->aData[5])-apNew[0]->cellOffset-apNew[0]->nCell*2)
);
copyNodeContent(apNew[0], pParent, &rc);
freePage(apNew[0], &rc);
}
testcase( rc!=SQLITE_OK );
assert( apNew[0]->nFree ==
(get2byte(&apNew[0]->aData[5])-apNew[0]->cellOffset-apNew[0]->nCell*2)
|| rc!=SQLITE_OK
);
copyNodeContent(apNew[0], pParent, &rc);
freePage(apNew[0], &rc);
}else if( ISAUTOVACUUM && !leafCorrection ){
/* Fix the pointer map entries associated with the right-child of each
** sibling page. All other pointer map entries have already been taken