mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-07 02:42:48 +03:00
Make sure the codec is invoked when overwriting existing frames of the
WAL file. Yikes! FossilOrigin-Name: f694e60a79024967a3f4574e3928f0b28589d381
This commit is contained in:
@@ -3062,10 +3062,16 @@ int sqlite3WalFrames(
|
||||
assert( rc==SQLITE_OK || iWrite==0 );
|
||||
if( iWrite>=iFirst ){
|
||||
i64 iOff = walFrameOffset(iWrite, szPage) + WAL_FRAME_HDRSIZE;
|
||||
void *pData;
|
||||
if( pWal->iReCksum==0 || iWrite<pWal->iReCksum ){
|
||||
pWal->iReCksum = iWrite;
|
||||
}
|
||||
rc = sqlite3OsWrite(pWal->pWalFd, p->pData, szPage, iOff);
|
||||
#if defined(SQLITE_HAS_CODEC)
|
||||
if( (pData = sqlite3PagerCodec(p))==0 ) return SQLITE_NOMEM;
|
||||
#else
|
||||
pData = p->pData;
|
||||
#endif
|
||||
rc = sqlite3OsWrite(pWal->pWalFd, pData, szPage, iOff);
|
||||
if( rc ) return rc;
|
||||
p->flags &= ~PGHDR_WAL_APPEND;
|
||||
continue;
|
||||
|
Reference in New Issue
Block a user