1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-10 01:02:56 +03:00

Minor tweaks to get the pager working for corner cases when the

SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN flag is set.

FossilOrigin-Name: 82b38fca1aea345ade954517661145f1859e701c
This commit is contained in:
drh
2010-06-21 21:45:37 +00:00
parent de3c301d63
commit 39cf51097f
3 changed files with 12 additions and 12 deletions

View File

@@ -1,8 +1,8 @@
-----BEGIN PGP SIGNED MESSAGE----- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 Hash: SHA1
C Fix\scomment\sinside\sthe\spager_unlock()\sroutine.\s\sAlways\sclose\sthe\smaster\njournal\sfile\sbefore\strying\sto\sdelete\sit. C Minor\stweaks\sto\sget\sthe\spager\sworking\sfor\scorner\scases\swhen\sthe\nSQLITE_IOCAP_UNDELETABLE_WHEN_OPEN\sflag\sis\sset.
D 2010-06-21T20:19:25 D 2010-06-21T21:45:37
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3 F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -159,7 +159,7 @@ F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
F src/os_os2.c 665876d5eec7585226b0a1cf5e18098de2b2da19 F src/os_os2.c 665876d5eec7585226b0a1cf5e18098de2b2da19
F src/os_unix.c 5231a75a3799872b1250bc70c0e6a1a5960bc865 F src/os_unix.c 5231a75a3799872b1250bc70c0e6a1a5960bc865
F src/os_win.c 73608839342de32280cb378d3c2fc85a5dd80bd2 F src/os_win.c 73608839342de32280cb378d3c2fc85a5dd80bd2
F src/pager.c 50659082fb56c0cda9e8902b998786b6ea5403c4 F src/pager.c 4afcd7027c53990e67878f50df9ff769ff619923
F src/pager.h ca1f23c0cf137ac26f8908df2427c8b308361efd F src/pager.h ca1f23c0cf137ac26f8908df2427c8b308361efd
F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07 F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07
@@ -828,14 +828,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
P cc9ddae6d72b214f52b8949e644b91f4ab340a28 P f820b815c9bff368eb1ccb850966a812151e610e
R c5ccd1948c0c334bd6a1ed7f02abbdee R 878a70661ae0b8adde3dc51f9d817d9c
U drh U drh
Z 8f5880ea853084ff86e604f4db1b6c3e Z 11c18e188b39b305a9c468a9d25ead77
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux) Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFMH8lQoxKgR168RlERApKRAJ9SPWJEFbmQKR6sihCEP+Zoix7qTwCfZKqE iD8DBQFMH92EoxKgR168RlERArg+AJ9sqm75dQyHJjwM9dHjy+SyIyobBQCdG0GC
6//AcgL4bQctlb6kAqmxWFE= Mw98Pt2A0fr+ma7hk2z+UGQ=
=6D6c =pPm8
-----END PGP SIGNATURE----- -----END PGP SIGNATURE-----

View File

@@ -1 +1 @@
f820b815c9bff368eb1ccb850966a812151e610e 82b38fca1aea345ade954517661145f1859e701c

View File

@@ -2576,7 +2576,7 @@ static int pagerPlaybackSavepoint(Pager *pPager, PagerSavepoint *pSavepoint){
} }
assert( rc!=SQLITE_DONE ); assert( rc!=SQLITE_DONE );
} }
assert( rc!=SQLITE_OK || pPager->journalOff==szJ ); assert( rc!=SQLITE_OK || pPager->journalOff>=szJ );
/* Finally, rollback pages from the sub-journal. Page that were /* Finally, rollback pages from the sub-journal. Page that were
** previously rolled back out of the main journal (and are hence in pDone) ** previously rolled back out of the main journal (and are hence in pDone)
@@ -4707,7 +4707,7 @@ static int pager_write(PgHdr *pPg){
if( rc!=SQLITE_OK ){ if( rc!=SQLITE_OK ){
return rc; return rc;
} }
if( !isOpen(pPager->jfd) if( pPager->pInJournal==0
&& pPager->journalMode!=PAGER_JOURNALMODE_OFF && pPager->journalMode!=PAGER_JOURNALMODE_OFF
&& !pagerUseWal(pPager) && !pagerUseWal(pPager)
){ ){