- C Set\sthe\sPager.eState\svariable\sto\sPAGER_ERROR\swhenever\sthe\spager\senters\sthe\serror\sstate.
- D 2010-08-03T18:18:42
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-C Fix\sdisabled\simplementation-mark\scomments\sin\sfunc.c.
-D 2010-08-03T18:06:25
++C Merge\strunk\schanges\sinto\sexperimental\sbranch.
++D 2010-08-03T18:29:05
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in ec08dc838fd8110fe24c92e5130bcd91cbb1ff2e
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F src/os.h 9dbed8c2b9c1f2f2ebabc09e49829d4777c26bf9
F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
F src/os_os2.c 72d0b2e562952a2464308c4ce5f7913ac10bef3e
-F src/os_unix.c 3109e0e5a0d5551bab2e8c7322b20a3b8b171248
-F src/os_win.c 1f8b0a1a5bcf6289e7754d0d3c16cec16d4c93ab
-F src/pager.c 202e3dcb3f36c858d4339c0f6fa3d04d67258127
+F src/os_unix.c ae5ca8a6031380708f3fec7be325233d49944914
+F src/os_win.c 51cb62f76262d961ea4249489383d714501315a7
- F src/pager.c b48eb75d41fd1bce0e9911209785aef4381258ef
++F src/pager.c a5f55fb219e53bd064a81ccf697da30285ba2cc6
F src/pager.h 80726162dc3942f59ab27b738fb667b9ba0a89d5
F src/parse.y 12b7ebd61ea54f0e1b1083ff69cc2c8ce9353d58
F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07
F src/sqliteLimit.h 196e2f83c3b444c4548fc1874f52f84fdbda40f3
F src/status.c 496913d4e8441195f6f2a75b1c95993a45b9b30b
F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
- F src/tclsqlite.c ae1e4fb653c91ddad7e2534d209711a12604ccc4
+ F src/tclsqlite.c 5cd96419fb6c771006f064196ccc70c29d01bec7
-F src/test1.c ff3b4533fc4d78d1bff2ef831a5791db55096ed3
+F src/test1.c 0bfcda72f9f8ab5c0e90fac05cc22c1c21131ddf
F src/test2.c e3f564ab1e9fd0b47b0c9e23e7054e38bf0836cf
F src/test3.c 4c21700c73a890a47fc685c1097bfb661346ac94
F src/test4.c 0528360b5025688002a5feb6be906ddce52eaaee
F src/vdbe.h 4de0efb4b0fdaaa900cf419b35c458933ef1c6d2
F src/vdbeInt.h ffd68c4d4229227a5089bec53a1c635146177abc
F src/vdbeapi.c d0f4407e465f261780ad725c1caece7d66a6aa35
- F src/vdbeaux.c 8a443e73760ca65ffdfda3e26df4c8c90eeefa11
+ F src/vdbeaux.c e18a42d0bdac405565f2d258a82457fd10db133d
F src/vdbeblob.c 258a6010ba7a82b72b327fb24c55790655689256
- F src/vdbemem.c 5e579abf6532001dfbee0e640dc34eae897a9807
+ F src/vdbemem.c e5673f81a2381b35c60e73ef0a8502be2ab1041e
F src/vdbetrace.c 864cef96919323482ebd9986f2132435115e9cc2
F src/vtab.c 82200af3881fa4e1c9cf07cf31d98c09d437e3ab
-F src/wal.c 0925601f3299c2941a67c9cfff41ee710f70ca82
-F src/wal.h 906c85760598b18584921fe08008435aa4eeeeb2
+F src/wal.c 6e04bccccd75acf86725cc8cb4b107cd245e018c
+F src/wal.h 96669b645e27cd5a111ba59f0cae7743a207bc3c
F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f
F src/where.c 79202ca81e740eeb1f54512147e29b6c518d84ca
F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2
F test/vtab_err.test 0d4d8eb4def1d053ac7c5050df3024fd47a3fbd8
F test/vtab_shared.test 0eff9ce4f19facbe0a3e693f6c14b80711a4222d
F test/wal.test 1891e6f72dd437a1c2a48091aa9182ba17a8f780
- F test/wal2.test 8581b133ef58d48f24c56f645a20d6527723557c
-F test/wal2.test 8dcebda41587e0b2b57194d03fd8700e01e85656
-F test/wal3.test d2ae7e66f973bd6b58ce49e546b2c00f44fe0485
++F test/wal2.test 223f3e14d475730af772a7f5862d4bcfa7565c3a
+F test/wal3.test 695ea0f6c516423c611891df9a285aacd33344e3
F test/wal4.test 3404b048fa5e10605facaf70384e6d2943412e30
F test/wal_common.tcl 895d76138043b86bdccf36494054bdabcf65837b
F test/walbak.test 4df1c7369da0301caeb9a48fa45997fd592380e4
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
- P fde4c59782e98366792e1552fd122e7d80a277ff
- R dd009cdb2bebe6c9ea312f79af5244c4
-P 4e157b774764b8bafc9fabb88decf54f178b5ff5
-R 2ffda3ab686430275e530bf434e41e4c
-U drh
-Z 636446afbb2581f1ac8c757ae258a4e0
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-iD8DBQFMWFqkoxKgR168RlERAoOBAKCD0AqnZ6ZzbybLHgm4lZfoGX3cfgCfa6ef
-C79lcWSk6pzbtaW4+fqCLFQ=
-=jbsY
------END PGP SIGNATURE-----
++P 4d384761d27425b71555f4f3262778277a955835 57c0960038b8ce97f9d6665f15e7f6ec310c681f
++R a5e53c42c5ef67b21638e39c5b136ceb
+U dan
- Z 18695678602885240568b79d8561ccf5
++Z c69428969280d297bd2cfd79a9c3f85e
rc = writeMasterJournal(pPager, zMaster);
if( rc!=SQLITE_OK ) goto commit_phase_one_exit;
- /* Sync the journal file. If the atomic-update optimization is being
- ** used, this call will not create the journal file or perform any
- ** real IO.
+ /* Sync the journal file and write all dirty pages to the database.
+ ** If the atomic-update optimization is being used, this sync will not
+ ** create the journal file or perform any real IO.
+ **
+ ** Because the change-counter page was just modified, unless the
+ ** atomic-update optimization is used it is almost certain that the
+ ** journal requires a sync here. However, in locking_mode=exclusive
+ ** on a system under memory pressure it is just possible that this is
+ ** not the case. In this case it is likely enough that the redundant
+ ** xSync() call will be changed to a no-op by the OS anyhow.
*/
- rc = syncJournal(pPager);
+ rc = syncJournal(pPager, 0);
if( rc!=SQLITE_OK ) goto commit_phase_one_exit;
-
+
- /* Write all dirty pages to the database file. */
rc = pager_write_pagelist(pPager,sqlite3PcacheDirtyList(pPager->pPCache));
if( rc!=SQLITE_OK ){
assert( rc!=SQLITE_IOERR_BLOCKED );
execsql { SELECT name FROM sqlite_master } db2
} {t1}
- # Set all zeroed slots in the first hash table to invalid values.
- #
- set blob [string range [tvfs shm $::filename] 0 16383]
- set I [string range [tvfs shm $::filename] 16384 end]
- binary scan $I t* L
- set I [list]
- foreach p $L {
- lappend I [expr $p ? $p : 400]
+ if {$::tcl_version>=8.5} {
+ # Set all zeroed slots in the first hash table to invalid values.
+ #
+ set blob [string range [tvfs shm $::filename] 0 16383]
+ set I [string range [tvfs shm $::filename] 16384 end]
+ binary scan $I t* L
+ set I [list]
+ foreach p $L {
+ lappend I [expr $p ? $p : 400]
+ }
+ append blob [binary format t* $I]
+ tvfs shm $::filename $blob
+ do_test wal2-11.2 {
+ catchsql { INSERT INTO t1 VALUES(10, 11, 12) }
+ } {1 {database disk image is malformed}}
+
+ # Fill up the hash table on the first page of shared memory with 0x55 bytes.
+ #
+ set blob [string range [tvfs shm $::filename] 0 16383]
+ append blob [string repeat [binary format c 55] 16384]
+ tvfs shm $::filename $blob
+ do_test wal2-11.3 {
+ catchsql { SELECT * FROM t1 } db2
+ } {1 {database disk image is malformed}}
}
- append blob [binary format t* $I]
- tvfs shm $::filename $blob
- do_test wal2-11.2 {
- catchsql { INSERT INTO t1 VALUES(10, 11, 12) }
- } {1 {database disk image is malformed}}
-
- # Fill up the hash table on the first page of shared memory with 0x55 bytes.
- #
- set blob [string range [tvfs shm $::filename] 0 16383]
- append blob [string repeat [binary format c 55] 16384]
- tvfs shm $::filename $blob
- do_test wal2-11.3 {
- catchsql { SELECT * FROM t1 } db2
- } {1 {database disk image is malformed}}
-
+
db close
db2 close
tvfs delete