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

Fix a problem causing the return code of an xSync call to be ignored in wal.c.

FossilOrigin-Name: f1b2b5f9c3a5561ea6108283ae08404106c3f8bc
This commit is contained in:
dan
2010-08-09 07:51:40 +00:00
parent 7a76197f40
commit 007820d65d
3 changed files with 13 additions and 12 deletions

View File

@@ -1567,7 +1567,6 @@ static int walCheckpoint(
if( pInfo->nBackfill<mxSafeFrame
&& (rc = walLockExclusive(pWal, WAL_READ_LOCK(0), 1))==SQLITE_OK
){
i64 nReq; /* File size hint passed to VFS */
i64 nSize; /* Current size of database file */
u32 nBackfill = pInfo->nBackfill;
@@ -1579,10 +1578,12 @@ static int walCheckpoint(
/* If the database file may grow as a result of this checkpoint, hint
** about the eventual size of the db file to the VFS layer.
*/
nReq = ((i64)mxPage * szPage);
rc = sqlite3OsFileSize(pWal->pDbFd, &nSize);
if( rc==SQLITE_OK && nSize<nReq ){
sqlite3OsFileControl(pWal->pDbFd, SQLITE_FCNTL_SIZE_HINT, &nReq);
if( rc==SQLITE_OK ){
i64 nReq = ((i64)mxPage * szPage);
rc = sqlite3OsFileSize(pWal->pDbFd, &nSize);
if( rc==SQLITE_OK && nSize<nReq ){
sqlite3OsFileControl(pWal->pDbFd, SQLITE_FCNTL_SIZE_HINT, &nReq);
}
}
/* Iterate through the contents of the WAL, copying data to the db file. */