Index: src/pager.c ================================================================== --- src/pager.c +++ src/pager.c @@ -2483,11 +2483,16 @@ newSize = pPager->pageSize*(i64)nPage; if( rc==SQLITE_OK && currentSize!=newSize ){ if( currentSize>newSize ){ rc = sqlite3OsTruncate(pPager->fd, newSize); }else{ - rc = sqlite3OsWrite(pPager->fd, "", 1, newSize-1); + char *pTmp = pPager->pTmpSpace; + memset(pTmp, 0, pPager->pageSize); + while( currentSizefd, pTmp, pPager->pageSize, currentSize); + currentSize += pPager->pageSize; + } } if( rc==SQLITE_OK ){ pPager->dbFileSize = nPage; } }