]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Disable an assert which (as it turns out) is not always true. Ticket #615. (CVS...
authordrh <drh@noemail.net>
Wed, 25 Feb 2004 02:20:41 +0000 (02:20 +0000)
committerdrh <drh@noemail.net>
Wed, 25 Feb 2004 02:20:41 +0000 (02:20 +0000)
FossilOrigin-Name: 2773c1d384b750eee037e6ccc61bc56b5204d690

manifest
manifest.uuid
src/pager.c
test/pager.test

index f1447eccd16543749ac316b50b289a69116eee8c..9e05b2f0240f2c3918df27b9acb4061e03822fba 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Refactor\sparts\sof\swrite\soperations.\s(CVS\s1268)
-D 2004-02-24T01:05:32
+C Disable\san\sassert\swhich\s(as\sit\sturns\sout)\sis\snot\salways\strue.\s\sTicket\s#615.\s(CVS\s1269)
+D 2004-02-25T02:20:41
 F Makefile.in cfd75c46b335881999333a9e4b982fa8491f200b
 F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -41,7 +41,7 @@ F src/main.c 0f77633b37540fabd45e68c5137f32f4cd99470a
 F src/md5.c fe4f9c9c6f71dfc26af8da63e4d04489b1430565
 F src/os.c f5fc4954725b2fcd852979f2746085fe8ca27710
 F src/os.h 250a3789be609adfee5c5aa20137ce8683276f24
-F src/pager.c 29ddad4dd454f0aaa98e2bcd327710ab9f02f833
+F src/pager.c b246986e5ba31b15aa3cf91d3b9ec2e608aceb8e
 F src/pager.h 82332878799280145639a48d88cdb4058925e3f6
 F src/parse.y 023720cb8c3bef74e51738bca78335d0dc6d2cfd
 F src/pragma.c 621d319580e9e23712ec232e8be1786cdae06b36
@@ -115,7 +115,7 @@ F test/misc3.test bd371567b6fec7c1d7fe42a172a551226d271dd2
 F test/misuse.test 1095f26d1aed406c65e1d2eba651c4bb7c38cbff
 F test/notnull.test 7a08117a71e74b0321aaa937dbeb41a09d6eb1d0
 F test/null.test c14d0f4739f21e929b8115b72bf0c765b6bb1721
-F test/pager.test dd31da9bee94a82e2e87e58cf286cfe809f8fc5f
+F test/pager.test 331519008889d45f6df6697395e5bce6ee602fd9
 F test/pragma.test 33011f5741cc4952ff8306ead8a1aeb003fb0786
 F test/printf.test 46b3d07d59d871d0831b4a657f6dfcafe0574850
 F test/progress.test 701b6115c2613128ececdfe1398a1bd0e1a4cfb3 x
@@ -189,7 +189,7 @@ F www/sqlite.tcl 3c83b08cf9f18aa2d69453ff441a36c40e431604
 F www/tclsqlite.tcl b9271d44dcf147a93c98f8ecf28c927307abd6da
 F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1
 F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P 2af1f065b5eb39fd3ecac00f8a66d1b4186aead5
-R 9d6a8b25a7f2bb71f6dedeed9e4c62a7
+P 5b0147aece7785373e6f7439c32e5f58c6b12562
+R 0b8a6493f559fa4934fa13ad5002da5d
 U drh
-Z 8a2415f48418d0f788b383a0bebad05c
+Z 2e9a980f55f5d4bf5ce99a47ed1e1a30
index df74321908ba75038d1b241053381f780bdaa5f9..57f0063bc02c8b1f0d33dc1a0100793adde72b91 100644 (file)
@@ -1 +1 @@
-5b0147aece7785373e6f7439c32e5f58c6b12562
\ No newline at end of file
+2773c1d384b750eee037e6ccc61bc56b5204d690
\ No newline at end of file
index 223de8e636c6c82fd047d467d03bdc08ac102f2a..8b6a154656b2330e0cb5cf8317a52c5b416fa527 100644 (file)
@@ -18,7 +18,7 @@
 ** file simultaneously, or one process from reading the database while
 ** another is writing.
 **
-** @(#) $Id: pager.c,v 1.100 2004/02/11 09:46:32 drh Exp $
+** @(#) $Id: pager.c,v 1.101 2004/02/25 02:20:41 drh Exp $
 */
 #include "os.h"         /* Must be first to enable large file support */
 #include "sqliteInt.h"
@@ -841,6 +841,7 @@ end_ckpt_playback:
 void sqlitepager_set_cachesize(Pager *pPager, int mxPage){
   if( mxPage>=0 ){
     pPager->noSync = pPager->tempFile;
+    if( pPager->noSync==0 ) pPager->needSync = 0;
   }else{
     pPager->noSync = 1;
     mxPage = -mxPage;
@@ -879,6 +880,7 @@ void sqlitepager_set_cachesize(Pager *pPager, int mxPage){
 void sqlitepager_set_safety_level(Pager *pPager, int level){
   pPager->noSync =  level==1 || pPager->tempFile;
   pPager->fullSync = level==3 && !pPager->tempFile;
+  if( pPager->noSync==0 ) pPager->needSync = 0;
 }
 
 /*
@@ -1180,7 +1182,8 @@ static int syncJournal(Pager *pPager){
   if( pPager->needSync ){
     if( !pPager->tempFile ){
       assert( pPager->journalOpen );
-      assert( !pPager->noSync );
+      /* assert( !pPager->noSync ); // noSync might be set if synchronous
+      ** was turned off after the transaction was started.  Ticket #615 */
 #ifndef NDEBUG
       {
         /* Make sure the pPager->nRec counter we are keeping agrees
index 6704ed32536d8660fc36326b79a6fcef09a8c98e..b76c48eed6e90616095fe06789cf194aa1ac32a2 100644 (file)
@@ -11,7 +11,7 @@
 # This file implements regression tests for SQLite library.  The
 # focus of this script is page cache subsystem.
 #
-# $Id: pager.test,v 1.13 2003/02/16 19:13:37 drh Exp $
+# $Id: pager.test,v 1.14 2004/02/25 02:20:42 drh Exp $
 
 
 set testdir [file dirname $argv0]
@@ -406,4 +406,18 @@ do_test pager-4.99 {
 
 } ;# end if( not mem: and has pager_open command );
 
+# Ticket #615: an assertion fault inside the pager.  It is a benign
+# fault, but we might as well test for it.
+#
+do_test pager-5.1 {
+  sqlite db test.db
+  execsql {
+    BEGIN;
+    CREATE TABLE t1(x);
+    PRAGMA synchronous=off;
+    COMMIT;
+  }
+} {}
+
+
 finish_test