-C Experimental\simplementation\sof\spessimistic\spage-level\slocking\sbased\son\nrollback\smode.
-D 2017-04-26T20:45:00.409
+C If\spossible,\sdelete\sthe\sjournal\sfile\swhen\sa\sdatabase\sconnection\sis\sclosed.
+D 2017-04-27T13:05:43.621
F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 6a8c838220f7c00820e1fc0ac1bccaaa8e5676067e1dbfa1bafa7a4ffecf8ae6
F src/os_unix.c 30e2c43e4955db990e5b5a81e901f8aa74cc8820
F src/os_win.c 2a6c73eef01c51a048cc4ddccd57f981afbec18a
F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
-F src/pager.c 80f36e7fa7413b227c8fefd9c23169984e648134308c4730681167cb54121384
+F src/pager.c 06b5d925ee44ce2dce1f8b55833312069377d6a9d4e8acfe466ad2767bd54d01
F src/pager.h 54f5321bc48768610a3a000d2f821fb849cbda35339abd185ceb5f214faf10bf
F src/parse.y 0513387ce02fea97897d8caef82d45f347818593f24f1bdc48e0c530a8af122d
F src/pcache.c 62835bed959e2914edd26afadfecce29ece0e870
F test/selectF.test 21c94e6438f76537b72532fa9fd4710cdd455fc3
F test/selectG.test e8600e379589e85e9fefd2fe4d44a4cdd63f6982
F test/server1.test 46803bd3fe8b99b30dbc5ff38ffc756f5c13a118
-F test/server2.test 68480691c8b16de757396fc43523329e0f275f53f48afa81d6362485ed7aa22f
+F test/server2.test bdb66c32c1233b77195bcfac08f44d6cfed24cc4f44ffff8e825a5d8cc2bc624
F test/server3.test c33343f2f6bc23f2b4e2f047c3d083579f0cfac2795e0f1eb226ab34758967c0
F test/servercrash.test 816c132b26af008067cab2913783f67006d4003e3988f3f3ee1075742f6e0a6c
F test/session.test 78fa2365e93d3663a6e933f86e7afc395adf18be
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 2d0b64316d66a362f5891ceb71a1fd8e4607732274b09b0a8472b97eef68ebc2
-R ba2951238a6a64860b2d30a7e3110580
-T *branch * server-edition
-T *sym-server-edition *
-T -sym-trunk *
+P 64ecf7c7e512827e8a5a42f9f3ad92ff57ec868820e3943dbc74d5823f9a889d
+R 2c66e9c685902346d0d00b9da82f87dd
U dan
-Z fdb999cd81f23109f6505ea72ca50eac
+Z 084a9af7e4f3882f37830efa9cfd75a1
(db && (db->flags & SQLITE_NoCkptOnClose) ? 0 : pTmp)
);
pPager->pWal = 0;
-#endif
-#ifdef SQLITE_SERVER_EDITION
- if( pPager->pServer ){
- sqlite3ServerDisconnect(pPager->pServer, pPager->fd);
- pPager->pServer = 0;
- sqlite3_free(pPager->zJournal);
- }
#endif
pager_reset(pPager);
if( MEMDB ){
** rollback before accessing the database file.
*/
if( isOpen(pPager->jfd) ){
+ if( pagerIsServer(pPager) ){
+ assert( pPager->journalMode==PAGER_JOURNALMODE_PERSIST );
+ pPager->journalMode = PAGER_JOURNALMODE_DELETE;
+ /* If necessary, change the pager state so that the journal file
+ ** is deleted by the call to pagerUnlockAndRollback() below. */
+ if( pPager->eState==PAGER_OPEN ) pPager->eState = PAGER_READER;
+ }
pager_error(pPager, pagerSyncHotJournal(pPager));
}
pagerUnlockAndRollback(pPager);
}
+#ifdef SQLITE_SERVER_EDITION
+ if( pagerIsServer(pPager) ){
+ sqlite3ServerDisconnect(pPager->pServer, pPager->fd);
+ pPager->pServer = 0;
+ sqlite3_free(pPager->zJournal);
+ }
+#endif
sqlite3EndBenignMalloc();
enable_simulated_io_errors();
PAGERTRACE(("CLOSE %d\n", PAGERID(pPager)));