]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Documentation updates prior to release 3.4.0. Enhanced support for
authordrh <drh@noemail.net>
Mon, 18 Jun 2007 12:22:43 +0000 (12:22 +0000)
committerdrh <drh@noemail.net>
Mon, 18 Jun 2007 12:22:43 +0000 (12:22 +0000)
soak testing in the test scripts. (CVS 4084)

FossilOrigin-Name: eec387103869940697487ec5226eaed0b51ede7a

main.mk
manifest
manifest.uuid
test/all.test
test/fuzz_malloc.test
test/quick.test
test/trans.test
www/changes.tcl
www/index.tcl
www/limits.tcl
www/pragma.tcl

diff --git a/main.mk b/main.mk
index 58040a756e1afb9e785b626875202e05da2964b6..14fe045be309e225662810481ab4ffdd5f1b8020 100644 (file)
--- a/main.mk
+++ b/main.mk
@@ -453,6 +453,9 @@ testfixture$(EXE):  $(TOP)/src/tclsqlite.c libsqlite3.a $(TESTSRC)
 fulltest:      testfixture$(EXE) sqlite3$(EXE)
        ./testfixture$(EXE) $(TOP)/test/all.test
 
+soaktest:      testfixture$(EXE) sqlite3$(EXE)
+       ./testfixture$(EXE) $(TOP)/test/all.test -soak 1
+
 test:  testfixture$(EXE) sqlite3$(EXE)
        ./testfixture$(EXE) $(TOP)/test/quick.test
 
index c9354f00ce920b11ad9204700fc0384840d2e62a..8dd1d72325beebf22156ee66352158663fe74372 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sa\sfaulty\sassert()\sin\sthe\spager.\s(CVS\s4083)
-D 2007-06-16T18:39:42
+C Documentation\supdates\sprior\sto\srelease\s3.4.0.\s\sEnhanced\ssupport\sfor\nsoak\stesting\sin\sthe\stest\sscripts.\s(CVS\s4084)
+D 2007-06-18T12:22:43
 F Makefile.in b9971ab07868cf2b3209fe3bf8c52e7e25af4193
 F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -48,7 +48,7 @@ F ext/icu/README.txt a470afe5adf6534cc0bdafca31e6cf4d88c321fa
 F ext/icu/icu.c daab19e2c5221685688ecff2bb75bf9e0eea361d
 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895
 F ltmain.sh 56abb507100ed2d4261f6dd1653dec3cf4066387
-F main.mk 11d59c417b4ef124c2bf8514e7bd2fa1a78084c1
+F main.mk 02007ce4a5de0d4d6561207dcf839db9a3166935
 F mkdll.sh ed62756baf44babf562a7843588790c02fee2106
 F mkopcodec.awk bd46ad001c98dfbab07b1713cb8e692fa0e5415d
 F mkopcodeh.awk cde995d269aa06c94adbf6455bea0acedb913fa5
@@ -146,7 +146,7 @@ F src/vtab.c c5ebebf615b2f29499fbe97a584c4bb342632aa0
 F src/where.c 12387641659605318ae03d87f0687f223dfc9568
 F tclinstaller.tcl 4356d9d94d2b5ed5e68f9f0c80c4df3048dd7617
 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
-F test/all.test f0ea4b968d5fe05d85e9cab6fa491ec7e3b9fcc4
+F test/all.test 56bc526a6cbb262c5b678dd606de8c92ae39705e
 F test/alter.test c2a9402e17a731e5294ef370214bd9f88351d18d
 F test/alter2.test 50c3f554b8236d179d72511c0a4f23c5eb7f2af3
 F test/alter3.test a6eec8f454be9b6ce73d8d7dc711453675a10ce7
@@ -254,7 +254,7 @@ F test/func.test 605989453d1b42cec1d05c17aa232dc98e3e04e6
 F test/fuzz.test 62fc19dd36a427777fd671b569df07166548628a
 F test/fuzz2.test ea38692ce2da99ad79fe0be5eb1a452c1c4d37bb
 F test/fuzz_common.tcl ff4bc2dfc465f6878f8e2d819620914365382731
-F test/fuzz_malloc.test 2ef87c8406d539db61f00bb4934f7586d807e8dd
+F test/fuzz_malloc.test e2f1e74127ad7ab8fbeacc0f16d059a81c8f3ea6
 F test/hook.test 7e7645fd9a033f79cce8fdff151e32715e7ec50a
 F test/icu.test e6bfae7f625c88fd14df6f540fe835bdfc1e4329
 F test/in.test 369cb2aa1eab02296b4ec470732fe8c131260b1d
@@ -327,7 +327,7 @@ F test/pragma.test b0e73879206934a835856a8b8c4cc884cd8562f3
 F test/printf.test 69d8cb0771a1a5e4d9d5dece12fc2c16179ac5e5
 F test/progress.test 5b075c3c790c7b2a61419bc199db87aaf48b8301 x
 F test/ptrchng.test 1c712dd6516e1377471744fa765e41c79a357da6
-F test/quick.test 73a81a29fc28661c9c3fee2dcc3ded83cb1f1834
+F test/quick.test 3335fcc3ed543e54be0088b57f21f5f3632a512e
 F test/quote.test 215897dbe8de1a6f701265836d6601cc6ed103e6
 F test/rdonly.test b34db316525440d3b42c32e83942c02c37d28ef0
 F test/reindex.test 38b138abe36bf9a08c791ed44d9f76cd6b97b78b
@@ -391,7 +391,7 @@ F test/tkt2339.test 7016415bda86af1406a27260ac46f44885617606
 F test/tkt2391.test ab7a11be7402da8b51a5be603425367aa0684567
 F test/tkt2409.test f130054aedff681883466ad04332bd3f7db51a02
 F test/trace.test 75ffc1b992c780d054748a656e3e7fd674f18567
-F test/trans.test 3fe1b9e03b523482eee2b869858c5c1eca7b218b
+F test/trans.test 9e6e7b886ea8093239801b5af0981ff784d9c541
 F test/trigger1.test b361161cf20614024cc1e52ea0bdec250776b2ae
 F test/trigger2.test 33bf8ae9b788013be194efe5f66c04a202facbb4
 F test/trigger3.test 9102fd3933db294dc654b5aee9edfe9e94f2b9e2
@@ -461,7 +461,7 @@ F www/autoinc.tcl b357f5ba954b046ee35392ce0f884a2fcfcdea06
 F www/c_interface.tcl b51b08591554c16a0c3ef718364a508ac25abc7e
 F www/capi3.tcl 88884dd743039d1a95aa57f4a5eb369de7744716
 F www/capi3ref.tcl 167c2d5b45da22d77b2493b00d44b001b4ec83b1
-F www/changes.tcl b8e1911ea0d9495c47d4ff5e194163b7aa38ef2d
+F www/changes.tcl 273d57f681d16c40e9cd875e731215cab79526fc
 F www/common.tcl 2b793e5c31486c8a01dd27dc0a631ad93704438e
 F www/compile.tcl 276546d7eb445add5a867193bbd80f6919a6b084
 F www/conflict.tcl cdd0f4b59b0ba6d61f67e6a38f3ae45853bacb30
@@ -480,10 +480,10 @@ F www/fileformat.tcl 900c95b9633abc3dcfc384d9ddd8eb4876793059
 F www/formatchng.tcl bbb8af1ee494a71031acac4c8d8c51535f23b9df
 F www/fullscanb.gif f7c94cb227f060511f8909e10f570157263e9a25
 F www/index-ex1-x-b.gif f9b1d85c3fa2435cf38b15970c7e3aa1edae23a3
-F www/index.tcl 4d733614279b71ae25a385d65926c8d17ef3bd19
+F www/index.tcl 9c1f9127283298a90fe021a6277302aafabbced2
 F www/indirect1b1.gif adfca361d2df59e34f9c5cac52a670c2bfc303a1
 F www/lang.tcl e481e68bc17a850944006e5cfeefa86750244774
-F www/limits.tcl b74da35214028454f6e4170e0da3eeaf1811dbbd
+F www/limits.tcl ff26cca93d6d697a8e5fa3a4b0355c751311763b
 F www/lockingv3.tcl e52345bd20323bef6146bfce18ae0829b2b7c87d
 F www/mingw.tcl d96b451568c5d28545fefe0c80bee3431c73f69c
 F www/mkapidoc.tcl 696996026a3e13e3a5c31cee75a3a64edb5a7da0
@@ -494,7 +494,7 @@ F www/opcode.tcl 5bd68059416b223515a680d410a9f7cb6736485f
 F www/optimizer.tcl d6812a10269bd0d7c488987aac0ad5036cace9dc
 F www/optimizing.tcl f0b2538988d1bbad16cbfe63ec6e8f48c9eb04e5
 F www/optoverview.tcl 815df406a38c9f69b27d37e8f7ede004c6d9f19e
-F www/pragma.tcl 3655b3fff2f6491768e020f43364288f9e149f79
+F www/pragma.tcl 394028988b9c22c23439a67a21be9e1fb818d258
 F www/quickstart.tcl 8708a4ca83fbf55c66af1782992626f20c3df095
 F www/shared.gif 265bae80c5b311c5a86e47662821076ffaf5c6ea
 F www/sharedcache.tcl 3ebec81110e606af6fd65a3c4c19562cb173b29c
@@ -506,7 +506,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
 F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P 04a13fe43e61bd0dbff42c448e763078503b00bf
-R 1ba45126ee323ebbfc828a21f443049b
+P 4cff47b06132768e92ba2235cab5c17d1082f8f9
+R 402cac9c09afb3fbfb247beaa2c4bc40
 U drh
-Z 8164f1f6910ed0e178685fbf46538c4c
+Z 2f3e1c734a1de16ae2d28edfedfa6579
index 23c6df986b63d8ed07240fefeb2833d8b08fab9d..550d8afd469185b462a431b82c153fce59bf0311 100644 (file)
@@ -1 +1 @@
-4cff47b06132768e92ba2235cab5c17d1082f8f9
\ No newline at end of file
+eec387103869940697487ec5226eaed0b51ede7a
\ No newline at end of file
index 76f5bbc87b055dd4cad0e0ea26e4ee5a7ad81d92..7ed80de1b5d32eba8759745f6277503f3ed0b77d 100644 (file)
@@ -10,7 +10,7 @@
 #***********************************************************************
 # This file runs all tests.
 #
-# $Id: all.test,v 1.43 2007/05/30 08:18:04 danielk1977 Exp $
+# $Id: all.test,v 1.44 2007/06/18 12:22:43 drh Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -34,6 +34,9 @@ if {[llength $argv]>0} {
       -quick {
          set ISQUICK $value
       }
+      -soak {
+         set SOAKTEST $value
+      }
       default {
          puts stderr "Unknown option: $name"
          exit
index 7f4232398b2576a21375a83b8ff512145f553afd..30cdc50aee27d282911f525e824cc01d05ad6dc7 100644 (file)
@@ -12,7 +12,7 @@
 #
 # This file tests malloc failures in concert with fuzzy SQL generation.
 #
-# $Id: fuzz_malloc.test,v 1.4 2007/06/15 17:03:15 drh Exp $
+# $Id: fuzz_malloc.test,v 1.5 2007/06/18 12:22:43 drh Exp $
 
 set testdir [file dirname $argv0]
 source $testdir/tester.tcl
@@ -28,7 +28,13 @@ if {[info command sqlite_malloc_stat]==""} {
 source $testdir/fuzz_common.tcl
 source $testdir/malloc_common.tcl
 
-set ::REPEATS 40
+if {[info exists ISQUICK]} {
+  set ::REPEATS 20
+} elseif {[info exists SOAKTEST]} {
+  set ::REPEATS 100
+} else {
+  set ::REPEATS 40
+}
 
 #
 # Usage: do_fuzzy_malloc_test <testname> ?<options>?
index 6f033c37ea938ea7380d9db7cddd41e32b304ee7..5f6f63a34fba5a619d3a8e1eddd0887d3cfe13d2 100644 (file)
@@ -6,7 +6,7 @@
 #***********************************************************************
 # This file runs all tests.
 #
-# $Id: quick.test,v 1.58 2007/05/30 10:36:47 danielk1977 Exp $
+# $Id: quick.test,v 1.59 2007/06/18 12:22:43 drh Exp $
 
 proc lshift {lvar} {
   upvar $lvar l
@@ -19,6 +19,9 @@ while {[set arg [lshift argv]] != ""} {
     -sharedpagercache {
       sqlite3_enable_shared_cache 1
     }
+    -soak {
+       set SOAKTEST 1
+    }
     default {
       set argv [linsert $argv 0 $arg]
       break
index afaae5f00bbc3232532e57564987357afbd0761f..f910307e8add8bd0f763f87c3c6c12ccbb2545d3 100644 (file)
@@ -11,7 +11,7 @@
 # This file implements regression tests for SQLite library.  The
 # focus of this script is database locks.
 #
-# $Id: trans.test,v 1.34 2007/03/26 08:05:12 danielk1977 Exp $
+# $Id: trans.test,v 1.35 2007/06/18 12:22:43 drh Exp $
 
 
 set testdir [file dirname $argv0]
@@ -852,6 +852,8 @@ proc signature {} {
 #
 if {[info exists ISQUICK]} {
   set limit 20
+} elseif {[info exists SOAKTEST]} {
+  set limit 100
 } else {
   set limit 40
 }
index 35440d5ea00556b53c94f6ff22ec6a6b71d2a0f6..b6b9e549821c4cd0c477f788cec95e627c02add8 100644 (file)
@@ -28,14 +28,22 @@ proc chng {date desc} {
   puts "</DD>"
 }
 
-chng {2007 June 15 (3.4.0)} {
+chng {2007 June 18 (3.4.0)} {
 <li>Fix a bug that can lead to database corruption if an SQLITE_BUSY error
     occurs in the middle of an explicit transaction and that transaction
-    is later committed.  Ticket #2409.  See the
+    is later committed.  
+    <a href="http://www.sqlite.org/cvstrac/tktview?tn=2409">Ticket #2409.</a>
+    See the
     <a href="http://www.sqlite.org/cvstrac/wiki?p=CorruptionFollowingBusyError">
     CorruptionFollowingBusyError</a> wiki page for details.</i>
+<li>Fix a bug that can lead to database corruption if autovacuum mode is
+    on and a malloc() failure follows a CREATE TABLE or CREATE INDEX statement
+    which itself follows a cache overflow inside a transaction.  See
+    <a href="http://www.sqlite.org/cvstrac/tktview?tn=2418">ticket #2418</a>. 
+    </li>
 <li>Added explicit <a href="limits.html">upper bounds</a> on the sizes and
-    quantities of things SQLite can process.  This change might break some
+    quantities of things SQLite can process.  This change might cause
+    compatibility problems for
     applications that use SQLite in the extreme, which is why the current
     release is 3.4.0 instead of 3.3.18.</li>
 <li>Added support for <a href="capi3ref.html#sqlite3_blob_open">
@@ -43,7 +51,7 @@ chng {2007 June 15 (3.4.0)} {
 <li>Added the <a href="capi3ref.html#sqlite3_bind_zeroblob">zeroblob API</a>
     and the <a href="lang_expr.html#zeroblob">zeroblob()</a> SQL function.</li>
 <li>Added support for <a href="pragma.html#pragma_incremental_vacuum">
-    Incremntal Vacuum</a>.</li>
+    Incremental Vacuum</a>.</li>
 <li>Added the SQLITE_MIXED_ENDIAN_64BIT_FLOAT compile-time option to suppport
     ARM7 processors with goofy endianness.</li>
 <li>Removed all instances of sprintf() and strcpy() from the core library.</li>
index 5d974a7684a45fa81d253035d74fa19be7a1db4d..953e65b63bddd809cad2d1eafd4d69239a41941e 100644 (file)
@@ -71,17 +71,24 @@ proc newsitem {date title text} {
   puts "<hr width=\"50%\">"
 }
 
-newsitem {2007-Jun-15} {Version 3.4.0} {
-  This release fixes a bug that can lead to database corruption.  Upgrading
+newsitem {2007-Jun-18} {Version 3.4.0} {
+  This release fixes two separate bugs either of which 
+  can lead to database corruption.  Upgrading
   is strongly recommended.  If you must continue using an older version
-  of SQLite, please at least read
+  of SQLite, please at least read about how to avoid these bugs
+  at
   <a href="http://www.sqlite.org/cvstrac/wiki?p=CorruptionFollowingBusyError">
-  how to avoid the bug</a>.
+  CorruptionFollowingBusyError</a> and
+  <a href="http://www.sqlite.org/cvstrac/tktview?tn=2418">ticket #2418</a>
   <p>
   This release also adds explicit <a href="limits.html">limits</a> on the
   sizes and quantities of things SQLite will handle.  The new limits might
-  causes minor problems for some existing applications that push the
-  envelope, which is the reason that this release is 3.4.0 instead of 3.3.18.
+  causes compatibility problems for existing applications that
+  use excessively large strings, BLOBs, tables, or SQL statements. 
+  The new limits can be increased at compile-time to work around any problems
+  that arise.  Nevertheless, the version number of this release is
+  3.4.0 instead of 3.3.18 in order to call attention to the possible
+  incompatibility.
   </p>
   There are also new features, including
   <a href="capi3ref.html#sqlite3_blob_open">incremental BLOB I/O</a> and
@@ -107,4 +114,4 @@ puts {
 <p align="right"><a href="oldnews.html">Old news...</a></p>
 </td></tr></table>
 }
-footer {$Id: index.tcl,v 1.156 2007/06/15 12:16:32 drh Exp $}
+footer {$Id: index.tcl,v 1.157 2007/06/18 12:22:43 drh Exp $}
index 48cec44d988f3a92efa53d79a836e8af4bafd464..4c6efe7d73b07857a234b3c0ffe50e0f8d86c2db 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Run this script to generate the limits.html output file
 #
-set rcsid {$Id: limits.tcl,v 1.2 2007/06/11 23:23:25 drh Exp $}
+set rcsid {$Id: limits.tcl,v 1.3 2007/06/18 12:22:43 drh Exp $}
 source common.tcl
 header {Implementation Limits For SQLite}
 puts {
@@ -299,7 +299,7 @@ limit at run-time.
 Note that the transaction processing in SQLite requires two bits
 of heap memory for every page in the database file.  For databases
 of a few megabytes in size, this amounts to only a few hundred
-bytes of heap memory.  But for gigabyte-sized database the amount
+bytes of heap memory.  But for gigabyte-sized databases the amount
 of heap memory required is getting into the kilobyte range and
 for terabyte-sized databases, megabytes of heap memory must be
 allocated and zeroed at each transaction.  SQLite will
index 781bfadc9283e736ed3bd380d04bea329ba910f0..9fa9284dad672005810a7c77d4c0cd83644ef4cd 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Run this Tcl script to generate the pragma.html file.
 #
-set rcsid {$Id: pragma.tcl,v 1.24 2007/05/08 14:51:37 drh Exp $}
+set rcsid {$Id: pragma.tcl,v 1.25 2007/06/18 12:22:43 drh Exp $}
 source common.tcl
 header {Pragma statements supported by SQLite}
 
@@ -255,7 +255,7 @@ puts {
     or if there are no pages on the freelist.  If there are fewer than
     <i>N</i> pages on the freelist, then the entire freelist is cleared.</p>
 
-    <p>As of version 3.3.18 (the first version that supports
+    <p>As of version 3.4.0 (the first version that supports
     incremental_vacuum) this feature is still experimental.  Possible
     future changes include enhancing incremental vacuum to do
     defragmentation and node repacking just as the full-blown