diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/wal.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -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; |