mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-05 15:55:57 +03:00
Add experimental API sqlite3_db_cacheflush().
FossilOrigin-Name: 65b86dc1fa4a57cc3cde86a820d9f848aa288a15
This commit is contained in:
17
src/pager.c
17
src/pager.c
@@ -4473,6 +4473,23 @@ static int pagerStress(void *p, PgHdr *pPg){
|
||||
return pager_error(pPager, rc);
|
||||
}
|
||||
|
||||
/*
|
||||
** Flush all unreferenced dirty pages to disk.
|
||||
*/
|
||||
int sqlite3PagerFlush(Pager *pPager){
|
||||
int rc = SQLITE_OK;
|
||||
PgHdr *pList = sqlite3PcacheDirtyList(pPager->pPCache);
|
||||
|
||||
while( rc==SQLITE_OK && pList ){
|
||||
PgHdr *pNext = pList->pDirty;
|
||||
if( pList->nRef==0 ){
|
||||
rc = pagerStress((void*)pPager, pList);
|
||||
}
|
||||
pList = pNext;
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
** Allocate and initialize a new Pager object and put a pointer to it
|
||||
|
Reference in New Issue
Block a user