Fix the corruption problem of ticket #2565 as demonstrated by the test added
in (4204). There may yet be other instances of similar problems lurking in the code. (CVS 4206) FossilOrigin-Name: 7ed2f59e70e0d9a8ad0c47c8c12fae0aaddcedce
This commit is contained in:
parent
9fa502205d
commit
fdd30b0e46
14
manifest
14
manifest
@ -1,5 +1,5 @@
|
||||
C Convert\sfts2\sto\suse\ssqlite3_prepare_v2()\sto\sprevent\scertain\slogic\nerrors\saround\sSQLITE_SCHEMA\shandling.\s\sThis\salso\sallows\nsql_step_statement()\sand\ssql_step_leaf_statement()\sto\sbe\sreplaced\swith\nsqlite3_step().\n\nAlso\sfix\sa\slogic\serror\sin\sflushPendingTerms()\swhich\swas\sclearing\sthe\nterm\stable\sin\scase\sof\serror.\s\sThis\swas\swrong\sin\sthe\sface\sof\nSQLITE_SCHEMA.\s\sEven\sthough\sthe\schange\sto\ssqlite3_prepare_v2()\sshould\ncause\sus\snot\sto\ssee\sSQLITE_SCHEMA\sany\slonger,\sit\swas\sstill\sa\slogic\nerror...\s(CVS\s4205)
|
||||
D 2007-08-10T23:47:04
|
||||
C Fix\sthe\scorruption\sproblem\sof\sticket\s#2565\sas\sdemonstrated\sby\sthe\stest\sadded\nin\s(4204).\s\sThere\smay\syet\sbe\sother\sinstances\sof\ssimilar\sproblems\slurking\sin\nthe\scode.\s(CVS\s4206)
|
||||
D 2007-08-10T23:54:16
|
||||
F Makefile.in 0c0e53720f658c7a551046442dd7afba0b72bfbe
|
||||
F Makefile.linux-gcc 65241babba6faf1152bf86574477baab19190499
|
||||
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
||||
@ -99,7 +99,7 @@ F src/os_unix.c 9d2a421acc607262e63ccf31e3fe86e5f2520af6
|
||||
F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e
|
||||
F src/os_win.c d868d5f9e95ec9c1b9e2a30c54c996053db6dddd
|
||||
F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
|
||||
F src/pager.c 7e4a5766c109f0a7f5cb588e1c689e96ce2d7185
|
||||
F src/pager.c e4fec09c20201eaeca5f6a8fb2d6cdd415d97561
|
||||
F src/pager.h 94110a5570dca30d54a883e880a3633b2e4c05ae
|
||||
F src/parse.y ad2ce25665be7f7303137f774a4e3e72e0d036ff
|
||||
F src/pragma.c 7914a6b9ea05f158800116dfcae11e52ab8e39c4
|
||||
@ -524,7 +524,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130
|
||||
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
||||
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
|
||||
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
|
||||
P f267ce809424ec2cc167bf9750989413a8f925c1
|
||||
R 7b50465ce600cfe9712feba4d5c8c556
|
||||
U shess
|
||||
Z fb3f3f46abbb55040332d6f3d03499aa
|
||||
P 16730cb137eaf576b87cdc17913564c9c5c0ed82
|
||||
R 603090945b8a1fdc30880037c12bb741
|
||||
U drh
|
||||
Z f116d28be22086d6409bcb0a7433f127
|
||||
|
@ -1 +1 @@
|
||||
16730cb137eaf576b87cdc17913564c9c5c0ed82
|
||||
7ed2f59e70e0d9a8ad0c47c8c12fae0aaddcedce
|
@ -18,7 +18,7 @@
|
||||
** file simultaneously, or one process from reading the database while
|
||||
** another is writing.
|
||||
**
|
||||
** @(#) $Id: pager.c,v 1.352 2007/08/07 17:13:04 drh Exp $
|
||||
** @(#) $Id: pager.c,v 1.353 2007/08/10 23:54:16 drh Exp $
|
||||
*/
|
||||
#ifndef SQLITE_OMIT_DISKIO
|
||||
#include "sqliteInt.h"
|
||||
@ -2625,7 +2625,7 @@ static int pager_recycle(Pager *pPager, int syncOk, PgHdr **ppPg){
|
||||
** very slow operation, so we work hard to avoid it. But sometimes
|
||||
** it can't be helped.
|
||||
*/
|
||||
if( pPg==0 && pPager->pFirst && syncOk && !MEMDB){
|
||||
if( pPg==0 && pPager->pFirst && pPager->nRec && syncOk && !MEMDB){
|
||||
int rc = syncJournal(pPager);
|
||||
if( rc!=0 ){
|
||||
return rc;
|
||||
|
Loading…
x
Reference in New Issue
Block a user