]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Correct the documentation on the maximum size of a scratch allocation.
authordrh <drh@noemail.net>
Tue, 28 Oct 2014 00:56:18 +0000 (00:56 +0000)
committerdrh <drh@noemail.net>
Tue, 28 Oct 2014 00:56:18 +0000 (00:56 +0000)
FossilOrigin-Name: 30f86eb3f9ac88f83ed9e23ea6cd1fccf68e0812

manifest
manifest.uuid
src/btree.c
src/sqlite.h.in

index ed6b523e7ccbc942d545762acddecc97b51868b5..2a931c6cb3b95de8a9ce9bd8d123e23782495a05 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sspecial\shandling\sfor\sstatic\smutexes\sin\ssqlite3_mutex_alloc()\swhen\sautomatic\scalls\sto\ssqlite3_initialize()\sare\senabled.
-D 2014-10-27T22:06:21.571
+C Correct\sthe\sdocumentation\son\sthe\smaximum\ssize\sof\sa\sscratch\sallocation.
+D 2014-10-28T00:56:18.775
 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 0e3262c36b69bed3c5f9260313286a2e8c060ca5
+F src/btree.c 5189881ca403938c5ceddde496b984fef9f40c5a
 F src/btree.h a79aa6a71e7f1055f01052b7f821bd1c2dce95c8
 F src/btreeInt.h 026d0129724e8f265fdc60d44ec240cf5a4e6179
 F src/build.c 67bb05b1077e0cdaccb2e36bfcbe7a5df9ed31e8
@@ -229,7 +229,7 @@ F src/resolve.c 4965007d6497b6a4d7a6d98751cc39712885f952
 F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e
 F src/select.c 428165951748151e87a15295b7357221433e311b
 F src/shell.c 282f8f5278e0c78eb442217531172ec9e1538796
-F src/sqlite.h.in 4a5e5158c189d2bcd45c7c4607c2c0eb6d25c153
+F src/sqlite.h.in a9f2e5a0e2472c8c7819f3a16074c14b9376608f
 F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad
 F src/sqlite3ext.h 17d487c3c91b0b8c584a32fbeb393f6f795eea7d
 F src/sqliteInt.h 90519c3b3e8ee90adfce013234c4bd07275d77b5
@@ -1207,7 +1207,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 2b9340c8684bc382391e02813e960b3166f24daa
-R f7a6b10545dea42b1d622484e6364982
-U mistachkin
-Z 6b079baac5628ec298fadd129a245092
+P 7857d27caa845e5629d94c2e66587dc89016daca
+R cc3ad0fbd146620828bc67546f9cb55d
+U drh
+Z 46e16e5efd8acf1525fc0288e922960d
index 7088378432084987b9248d3f9662c68bfc8793d2..bc344729d573270f3091f70545979c6e61d0601a 100644 (file)
@@ -1 +1 @@
-7857d27caa845e5629d94c2e66587dc89016daca
\ No newline at end of file
+30f86eb3f9ac88f83ed9e23ea6cd1fccf68e0812
\ No newline at end of file
index 39d1e81a3f5fbc1da26920a48a673a182ad7f1f7..22b168d9e4e03d62fbebb50f06d829b2b9a23a72 100644 (file)
@@ -6649,6 +6649,7 @@ static int balance_nonroot(
        nMaxCells*sizeof(u8*)                       /* apCell */
      + nMaxCells*sizeof(u16)                       /* szCell */
      + pBt->pageSize;                              /* aSpace1 */
+  assert( szScratch<=16896 || szScratch<=6*pBt->pageSize );
   apCell = sqlite3ScratchMalloc( szScratch ); 
   if( apCell==0 ){
     rc = SQLITE_NOMEM;
index f1d4e406e84fc077270c53908ca5f98a7c3480b4..8cfe61ee1ada8a7acc47e5385085e1778e6b48fa 100644 (file)
@@ -1539,10 +1539,14 @@ struct sqlite3_mem_methods {
 ** argument must be a multiple of 16.
 ** The first argument must be a pointer to an 8-byte aligned buffer
 ** of at least sz*N bytes of memory.
-** ^SQLite will use no more than two scratch buffers per thread.  So
-** N should be set to twice the expected maximum number of threads.
-** ^SQLite will never require a scratch buffer that is more than 6
-** times the database page size. ^If SQLite needs needs additional
+** ^SQLite will not use more than two scratch buffers per thread and not
+** more than one scratch buffer per thread when not performing
+** a [checkpoint] in [WAL mode].
+** ^SQLite will never request a scratch buffer that is more than 6
+** times the database page size, except when performing a [checkpoint]
+** in [WAL mode] when the scratch buffer request size is a small fraction
+** of the size of the WAL file.
+** ^If SQLite needs needs additional
 ** scratch memory beyond what is provided by this configuration option, then 
 ** [sqlite3_malloc()] will be used to obtain the memory needed.</dd>
 **