]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Toward version 3.7.5.1. This check-in updates the version number and also branch-3.7.5
authordrh <drh@noemail.net>
Wed, 1 Jun 2011 11:26:51 +0000 (11:26 +0000)
committerdrh <drh@noemail.net>
Wed, 1 Jun 2011 11:26:51 +0000 (11:26 +0000)
patches the pager so that it never spills cache while in WAL mode.  The
latter patch fixes ticket [2d1a5c67dfc23] and also prevents excessive WAL
file sizes if the pager cache starts thrashing.  A few test cases fail.

FossilOrigin-Name: 2e5a912ad781f7554c718df6340c809472f87022

VERSION
configure
manifest
manifest.uuid
src/pager.c
test/walcrash2.test
tool/shell1.test

diff --git a/VERSION b/VERSION
index aaf18d29482f17f2ad2793f0104a27740b190352..32c78c29a15ea0c4e2593f2fe4a2a8cc58637366 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.7.5
+3.7.5.1
index 38343411eb7e18435a3cb52ed2f782304b5dc4f8..6eb6b432a632ce3473dbd7867f0b0936a25be195 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.62 for sqlite 3.7.5.
+# Generated by GNU Autoconf 2.62 for sqlite 3.7.5.1.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -743,8 +743,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='sqlite'
 PACKAGE_TARNAME='sqlite'
-PACKAGE_VERSION='3.7.5'
-PACKAGE_STRING='sqlite 3.7.5'
+PACKAGE_VERSION='3.7.5.1'
+PACKAGE_STRING='sqlite 3.7.5.1'
 PACKAGE_BUGREPORT=''
 
 # Factoring default headers for most tests.
@@ -1485,7 +1485,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures sqlite 3.7.5 to adapt to many kinds of systems.
+\`configure' configures sqlite 3.7.5.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1550,7 +1550,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of sqlite 3.7.5:";;
+     short | recursive ) echo "Configuration of sqlite 3.7.5.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1666,7 +1666,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-sqlite configure 3.7.5
+sqlite configure 3.7.5.1
 generated by GNU Autoconf 2.62
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1680,7 +1680,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by sqlite $as_me 3.7.5, which was
+It was created by sqlite $as_me 3.7.5.1, which was
 generated by GNU Autoconf 2.62.  Invocation command line was
 
   $ $0 $@
@@ -13942,7 +13942,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by sqlite $as_me 3.7.5, which was
+This file was extended by sqlite $as_me 3.7.5.1, which was
 generated by GNU Autoconf 2.62.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -13995,7 +13995,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-sqlite config.status 3.7.5
+sqlite config.status 3.7.5.1
 configured by $0, generated by GNU Autoconf 2.62,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
index 0411312b2131d004def8b617317fd3a4ef2567e1..fe09f4323b1bedd0ae0171da8e05f0988eb581aa 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,14 +1,11 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-C SQLite\sversion\s3.7.5\srelease\scandidate\s2
-D 2011-01-28T17:03:50.592
+C Toward\sversion\s3.7.5.1.\s\sThis\scheck-in\supdates\sthe\sversion\snumber\sand\salso\npatches\sthe\spager\sso\sthat\sit\snever\sspills\scache\swhile\sin\sWAL\smode.\s\sThe\nlatter\spatch\sfixes\sticket\s[2d1a5c67dfc23]\sand\salso\sprevents\sexcessive\sWAL\nfile\ssizes\sif\sthe\spager\scache\sstarts\sthrashing.\s\sA\sfew\stest\scases\sfail.
+D 2011-06-01T11:26:51.806
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in de6498556d536ae60bb8bb10e8c1ba011448658c
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
 F Makefile.vxworks c85ec1d8597fe2f7bc225af12ac1666e21379151
 F README cd04a36fbc7ea56932a4052d7d0b7f09f27c33d6
-F VERSION de8d3477dbf0d6cc226ccc6e046273627eb55fc5
+F VERSION 4d64d1231556eed819e7ab9837137181d4c9a8fe
 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50
 F addopcodes.awk 17dc593f791f874d2c23a0f9360850ded0286531
 F art/2005osaward.gif 0d1851b2a7c1c9d0ccce545f3e14bca42d7fd248
@@ -25,7 +22,7 @@ F art/src_logo.gif 9341ef09f0e53cd44c0c9b6fc3c16f7f3d6c2ad9
 F config.guess 226d9a188c6196f3033ffc651cbc9dcee1a42977
 F config.h.in 868fdb48c028421a203470e15c69ada15b9ba673
 F config.sub 9ebe4c3b3dab6431ece34f16828b594fb420da55
-F configure 0eb10c03a6536d8e5ce52ab70fda0a152d8a3262 x
+F configure ade17ab3bfafa38924969ce25398d36ad1826c1c x
 F configure.ac 87a3c71bbe9c925381c154413eea7f3cdc397244
 F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad
 F doc/lemon.html f0f682f50210928c07e562621c3b7e8ab912a538
@@ -165,7 +162,7 @@ F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
 F src/os_os2.c 2e452c9f2ca507623ad351c33a8a8b27849b1863
 F src/os_unix.c 1be46a35bad4bec5171e4de88aaff817260eb378
 F src/os_win.c 9abdcdd925416d854eabb0996c96debd92abfef5
-F src/pager.c b0fcbe3038fd08b111e1cf1deddd5f42418004d8
+F src/pager.c f582ebb4493c9e0240b17a0729588aeb1e0c17f9
 F src/pager.h 0ea59db2a33bc6c2c02cae34de33367e1effdf76
 F src/parse.y 12b7ebd61ea54f0e1b1083ff69cc2c8ce9353d58
 F src/pcache.c 09d38c44ab275db581f7a2f6ff8b9bc7f8c0faaa
@@ -847,7 +844,7 @@ F test/walbak.test 4df1c7369da0301caeb9a48fa45997fd592380e4
 F test/walbig.test e882bc1d014afffbfa2b6ba36e0f07d30a633ad0
 F test/walcksum.test a37b36375c595e61bdb7e1ec49b5f0979b6fc7ce
 F test/walcrash.test e763841551d6b23677ccb419797c1589dcbdbaf5
-F test/walcrash2.test 019d60b89d96c1937adb2b30b850ac7e86e5a142
+F test/walcrash2.test 564b13f641f1c9cadb3814746897f0e0cb71a067
 F test/walfault.test 81ed760def1c1573151d416b0d09178cf006f9fd
 F test/walhook.test ed00a40ba7255da22d6b66433ab61fab16a63483
 F test/walmode.test 22ddccd073c817ac9ead62b88ac446e8dedc7d2c
@@ -884,7 +881,7 @@ F tool/mksqlite3internalh.tcl 7b43894e21bcb1bb39e11547ce7e38a063357e87
 F tool/omittest.tcl 27d6f6e3b1e95aeb26a1c140e6eb57771c6d794a
 F tool/opcodeDoc.awk b3a2a3d5d3075b8bd90b7afe24283efdd586659c
 F tool/restore_jrnl.tcl 6957a34f8f1f0f8285e07536225ec3b292a9024a
-F tool/shell1.test c31b0814a9c543db51ca0cc63edb5e77ea532303
+F tool/shell1.test 5356d6f16443a132aa3f9b40d5fbf9ad998f9846
 F tool/shell2.test 5dc76b8005b465f420fed8241621da7513060ff3
 F tool/shell3.test 4fad469e8003938426355afdf34155f08c587836
 F tool/shell4.test 35f9c3d452b4e76d5013c63e1fd07478a62f14ce
@@ -901,14 +898,11 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 682fe41efd3578e8c9abc7138b61f361c3adbe95
-R 7fccaf9f7c013ddef8926255f6aeb773
+P ed759d5a9edb3bba5f48f243df47be29e3fe8cd7
+R da076752a7e1f02af83cb61570d5ce6b
+T *bgcolor * #8680d6
+T *branch * branch-3.7.5
+T *sym-branch-3.7.5 *
+T -sym-trunk *
 U drh
-Z 4223173e58f25d45d236e232b9c90989
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-iD8DBQFNQvb6oxKgR168RlERAtOTAJ9BaewewKXL3RGZUy5ycaHwjeEmJACeOPbw
-/JKqOugR+37RH7HnLCo9DBk=
-=kgPx
------END PGP SIGNATURE-----
+Z e12c2a5626b356509b4abffe00bd5c71
index bccc723cb9c0492ae44c67510fb2451cebb327b5..3cea811f736f82591f25213537d08cb3d828ee6b 100644 (file)
@@ -1 +1 @@
-ed759d5a9edb3bba5f48f243df47be29e3fe8cd7
\ No newline at end of file
+2e5a912ad781f7554c718df6340c809472f87022
\ No newline at end of file
index 80f3b0e7711f81ae6aeb3e0798dc34f8e8cbd7ec..b3a2207f1c77470ace851d9f0f2a68d739a74a39 100644 (file)
@@ -4168,13 +4168,12 @@ static int pagerStress(void *p, PgHdr *pPg){
 
   pPg->pDirty = 0;
   if( pagerUseWal(pPager) ){
-    /* Write a single frame for this page to the log. */
-    if( subjRequiresPage(pPg) ){ 
-      rc = subjournalPage(pPg); 
-    }
-    if( rc==SQLITE_OK ){
-      rc = pagerWalFrames(pPager, pPg, 0, 0, 0);
-    }
+    /* Never spill when in WAL mode.  The entire transaction must
+    ** remain in cache.  This is an alternative fix to ticket
+    ** [2d1a5c67dfc2] "Data loss on COMMIT in WAL mode".  It also
+    ** prevents huge WAL files when a large transaction starts
+    ** thrashing the cache. */
+    return SQLITE_OK;
   }else{
   
     /* Sync the journal file if required. */
index 7116281c2d8c67a347033c4211aec96b9b893400..806d16dd775488003f83b774404e33b91306a37f 100644 (file)
@@ -69,6 +69,8 @@ do_test walcrash2-1.1 {
   }
   file size test.db-wal
 } [wal_file_size 8 1024] 
+
+if 0 { # WAL no longer spills transaction
 for {set nEntry 8} {$nEntry < 8192} {incr nEntry 8} {
   do_test walcrash2-1.2.[expr $nEntry/8] {
     set C [launch_testfixture]
@@ -89,6 +91,7 @@ for {set nEntry 8} {$nEntry < 8192} {incr nEntry 8} {
     file size test.db-wal
   } [wal_file_size 16 1024]
 }
+}
 do_test walcrash2-1.3 {
   sqlite3 db2 test.db
   execsql { SELECT count(*) FROM t1 } db2
@@ -96,4 +99,3 @@ do_test walcrash2-1.3 {
 catch { db2 close }
 
 finish_test
-
index e33013d67d19e2ace5eceed7fea40cf194f25872..47c3584c9b777945b6a59c4550044968204cf864 100644 (file)
@@ -200,7 +200,7 @@ do_test shell1-1.15.3 {
 # -version             show SQLite version
 do_test shell1-1.16.1 {
   catchcmd "-version test.db" "" 
-} {0 3.7.5}
+} {0 3.7.5.1}
 
 #----------------------------------------------------------------------------
 # Test cases shell1-2.*: Basic "dot" command token parsing.