-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
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
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
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
-5b0147aece7785373e6f7439c32e5f58c6b12562
\ No newline at end of file
+2773c1d384b750eee037e6ccc61bc56b5204d690
\ No newline at end of file
** 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"
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;
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;
}
/*
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
# 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]
} ;# 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