1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

If a call is made to sqlite3PagerAcquire when there are no outstanding references to any pages and the pager is in the error-state, try to exit the error-state at this point. Previously this was only attempted if the pager was configured to use exclusive mode. (CVS 6788)

FossilOrigin-Name: 62db08bc0de936e4a418ae583a3bdbbf33d7787e
This commit is contained in:
danielk1977
2009-06-19 17:50:01 +00:00
parent 8bfd719065
commit d6bee2174c
3 changed files with 10 additions and 10 deletions

View File

@@ -1,5 +1,5 @@
C Make\ssure\sgroup_concat()\signores\sinitial\sNULL\svalues.\s(CVS\s6787) C If\sa\scall\sis\smade\sto\ssqlite3PagerAcquire\swhen\sthere\sare\sno\soutstanding\sreferences\sto\sany\spages\sand\sthe\spager\sis\sin\sthe\serror-state,\stry\sto\sexit\sthe\serror-state\sat\sthis\spoint.\sPreviously\sthis\swas\sonly\sattempted\sif\sthe\spager\swas\sconfigured\sto\suse\sexclusive\smode.\s(CVS\s6788)
D 2009-06-19T16:44:41 D 2009-06-19T17:50:02
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 8b8fb7823264331210cddf103831816c286ba446 F Makefile.in 8b8fb7823264331210cddf103831816c286ba446
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -146,7 +146,7 @@ F src/os_common.h 8c61457df58f1a4bd5f5adc3e90e01b37bf7afbc
F src/os_os2.c bed77dc26e3a95ce4a204936b9a1ca6fe612fcc5 F src/os_os2.c bed77dc26e3a95ce4a204936b9a1ca6fe612fcc5
F src/os_unix.c b64129c296e480c2827606e206ea51bb30904626 F src/os_unix.c b64129c296e480c2827606e206ea51bb30904626
F src/os_win.c 725c38a524d168ce280446ad8761d731bc516405 F src/os_win.c 725c38a524d168ce280446ad8761d731bc516405
F src/pager.c afe8e53fef52725e05b32ca6e2cfef04b933ca48 F src/pager.c 507655773b384471fc05addcdcff4df100afb43b
F src/pager.h 5aec418bf99f568b92ae82816a1463400513726d F src/pager.h 5aec418bf99f568b92ae82816a1463400513726d
F src/parse.y b6e99f4208a34eb83c62f20dd67f8d9058e86768 F src/parse.y b6e99f4208a34eb83c62f20dd67f8d9058e86768
F src/pcache.c 395f752a13574120bd7513a400ba02a265aaa76d F src/pcache.c 395f752a13574120bd7513a400ba02a265aaa76d
@@ -736,7 +736,7 @@ 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 672f81d693a03f80f5ae60bfefacd8a349e76746 F tool/vdbe-compress.tcl 672f81d693a03f80f5ae60bfefacd8a349e76746
P 37ae5f5e8feb34a8e6e8b34aa18df1e9a1ce55cb P 90c3b23ccac8a9e7fc1cc831e43888e4e43badc9
R bbe11c7b362a2c517acbc2d78fa4631d R 2ea8e871fa42548824353bc0cdc9bb93
U drh U danielk1977
Z 1470050dd5090450f94c26db6cf0c170 Z e38b100b5bb053d12d25eddf5e50616c

View File

@@ -1 +1 @@
90c3b23ccac8a9e7fc1cc831e43888e4e43badc9 62db08bc0de936e4a418ae583a3bdbbf33d7787e

View File

@@ -18,7 +18,7 @@
** file simultaneously, or one process from reading the database while ** file simultaneously, or one process from reading the database while
** another is writing. ** another is writing.
** **
** @(#) $Id: pager.c,v 1.597 2009/06/19 02:25:49 drh Exp $ ** @(#) $Id: pager.c,v 1.598 2009/06/19 17:50:02 danielk1977 Exp $
*/ */
#ifndef SQLITE_OMIT_DISKIO #ifndef SQLITE_OMIT_DISKIO
#include "sqliteInt.h" #include "sqliteInt.h"
@@ -3576,7 +3576,7 @@ static int pagerSharedLock(Pager *pPager){
** the error. Discard the contents of the pager-cache and treat any ** the error. Discard the contents of the pager-cache and treat any
** open journal file as a hot-journal. ** open journal file as a hot-journal.
*/ */
if( !MEMDB && pPager->exclusiveMode if( !MEMDB
&& sqlite3PcacheRefCount(pPager->pPCache)==0 && pPager->errCode && sqlite3PcacheRefCount(pPager->pPCache)==0 && pPager->errCode
){ ){
if( isOpen(pPager->jfd) ){ if( isOpen(pPager->jfd) ){