mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +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:
14
manifest
14
manifest
@@ -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
|
||||||
|
@@ -1 +1 @@
|
|||||||
90c3b23ccac8a9e7fc1cc831e43888e4e43badc9
|
62db08bc0de936e4a418ae583a3bdbbf33d7787e
|
@@ -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) ){
|
||||||
|
Reference in New Issue
Block a user