Add a NEVER to sqlite3PagerCommitPhaseTwo() because it is now no longer

possible to invoke that function without holding a RESERVED lock.

FossilOrigin-Name: 6ae7617298c70f8e03dd0ed73b8153d4871fb023
This commit is contained in:
drh 2010-07-02 01:18:12 +00:00
parent 32f2964390
commit b2961b00f3
3 changed files with 11 additions and 11 deletions

View File

@ -1,8 +1,8 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
C If\syou\sdelete\sa\sdatabase\sfile\sbut\snot\sits\s*-wal\sfile,\sthen\sopen\sthe\sdatabase\n(thus\screating\sa\snew\sempty\sdatabase\sfile)\sthe\s*-wal\sfile\sis\sautomatically\ndeleted.
D 2010-07-01T19:45:35
C Add\sa\sNEVER\sto\ssqlite3PagerCommitPhaseTwo()\sbecause\sit\sis\snow\sno\slonger\npossible\sto\sinvoke\sthat\sfunction\swithout\sholding\sa\sRESERVED\slock.
D 2010-07-02T01:18:12
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@ -159,7 +159,7 @@ F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
F src/os_os2.c 665876d5eec7585226b0a1cf5e18098de2b2da19
F src/os_unix.c ec7c7f7ca224ce2ff58736eebf804b48a75f9946
F src/os_win.c 48f67798969ba983487fed5691059ade7fff2ef7
F src/pager.c 2ce3612ab02a87b3c59c30bd412facc0bcc76ee9
F src/pager.c 3808cf9cbeb349c985f084eb18a377563a4725fe
F src/pager.h 879fdde5a102d2f21a3135d6f647530b21c2796c
F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07
@ -833,14 +833,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
P c6e75950928954fbb1590f952e3cdbcb0753b745
R f7186a46c1dcd52609a2789564f69cd8
P 95c69dfbddaf4367cd699dfe8fcf8e06030c1f53
R 930bbf4b4a963aec35ed6b03fae686d4
U drh
Z 3a354030eb2816ac63480d6e68d82e49
Z 540bd39ddc7176815db98ecf80c42f23
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFMLPBjoxKgR168RlERAqIFAJ9cSOQ6YZOm/Gu4IvyKKa1xG8xpCgCggbR1
xxpDAqZSMt9gn5sgaTshVfc=
=eCFs
iD8DBQFMLT5joxKgR168RlERAlVIAJ42G6HI9TMCYeZcCnG5KLimD/q0MwCfUMqn
uE0Yc+lcE/Y/v45SPR8cU9U=
=OxES
-----END PGP SIGNATURE-----

View File

@ -1 +1 @@
95c69dfbddaf4367cd699dfe8fcf8e06030c1f53
6ae7617298c70f8e03dd0ed73b8153d4871fb023

View File

@ -5302,7 +5302,7 @@ int sqlite3PagerCommitPhaseTwo(Pager *pPager){
** fails - make it so that we never reach this point if we do not hold
** all necessary locks.
*/
if( pPager->state<PAGER_RESERVED ) return SQLITE_ERROR;
if( NEVER(pPager->state<PAGER_RESERVED) ) return SQLITE_ERROR;
/* An optimization. If the database was not actually modified during
** this transaction, the pager is running in exclusive-mode and is