]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Remove a NEVER() in pager that can in fact be reached in obscure failure
authordrh <drh@noemail.net>
Sat, 26 Jun 2010 19:02:33 +0000 (19:02 +0000)
committerdrh <drh@noemail.net>
Sat, 26 Jun 2010 19:02:33 +0000 (19:02 +0000)
cases.

FossilOrigin-Name: 42b8bd1c70d8dbbc4a59e2fdee8654c4fe84f979

manifest
manifest.uuid
src/pager.c

index 2266b575499e15ce9073848968eaceb3957ca43a..ffff0925d5a6b5acb209776cff5794979c549474 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,8 @@
-C Fix\sa\scase\swhere\sthe\sdoNotSyncSpill\sflag\smay\sremain\spermanently\sset\sfollowing\saIO\serror.
-D 2010-06-26T17:15:08
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+C Remove\sa\sNEVER()\sin\spager\sthat\scan\sin\sfact\sbe\sreached\sin\sobscure\sfailure\ncases.
+D 2010-06-26T19:02:34
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in a5cad1f8f3e021356bfcc6c77dc16f6f1952bbc3
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -156,7 +159,7 @@ F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f
 F src/os_os2.c 665876d5eec7585226b0a1cf5e18098de2b2da19
 F src/os_unix.c 4b03e5a8a353b51af64ba11ffec85160818b4d89
 F src/os_win.c 48f67798969ba983487fed5691059ade7fff2ef7
-F src/pager.c 926ca1019334d53e2c0cf9e44d32ad4564cf8948
+F src/pager.c 13e4675ae53168f7aa1a5a232d50c36ec9e7089f
 F src/pager.h 879fdde5a102d2f21a3135d6f647530b21c2796c
 F src/parse.y ace5c7a125d9f2a410e431ee3209034105045f7e
 F src/pcache.c 1e9aa2dbc0845b52e1b51cc39753b6d1e041cb07
@@ -826,7 +829,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P 2eaf5ee0d9338de8a77fb3e06ad2f2b0daa6fcbe
-R e260e1abd33bd4071d904573555c1cd1
-U dan
-Z c6f4d6d31a651c819ae2c4f1cd30dd52
+P 56c7d111bf7013be95a4c2a657a4861eee91db91
+R d3e536e677793dc4a2d6a3e72b49ed5c
+U drh
+Z 3a3341ce7f6b879feb63d940af647551
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.6 (GNU/Linux)
+
+iD8DBQFMJk7NoxKgR168RlERAtsmAJsFB8BshxWkpEe/vHKKE3VzJeSzBACeLGMB
+KYcDVbjYliWmZ/AC8XpsXyw=
+=Hcc0
+-----END PGP SIGNATURE-----
index 59633ec45e16b9cb789b0018e144546694c67376..eb51e6cc8ef0cc68d236570210498ba0f2a77949 100644 (file)
@@ -1 +1 @@
-56c7d111bf7013be95a4c2a657a4861eee91db91
\ No newline at end of file
+42b8bd1c70d8dbbc4a59e2fdee8654c4fe84f979
\ No newline at end of file
index 1552f6dcda473743680e977b8d2a3106fe49e073..3f390562768cbbea376570b7ff10e2793ad23e42 100644 (file)
@@ -5280,10 +5280,11 @@ int sqlite3PagerCommitPhaseTwo(Pager *pPager){
   if( NEVER(pPager->errCode) ) return pPager->errCode;
 
   /* This function should not be called if the pager is not in at least
-  ** PAGER_RESERVED state. And indeed SQLite never does this. But it is
-  ** nice to have this defensive test here anyway.
+  ** PAGER_RESERVED state. **FIXME**: Make it so that this test always
+  ** fails - make it so that we never reach this point if we do not hold
+  ** all necessary locks.
   */
-  if( NEVER(pPager->state<PAGER_RESERVED) ) return SQLITE_ERROR;
+  if( 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