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

Add the SQLITE_FCNTL_SYNC file-control.

FossilOrigin-Name: b3f2f465c310a2cfef8731a0dae3453593b68de9
This commit is contained in:
dan
2011-01-11 17:39:37 +00:00
parent 9f4beedb6f
commit 354bfe0363
8 changed files with 35 additions and 26 deletions

View File

@@ -2749,10 +2749,10 @@ end_playback:
rc = readMasterJournal(pPager->jfd, zMaster, pPager->pVfs->mxPathname+1);
testcase( rc!=SQLITE_OK );
}
if( rc==SQLITE_OK && !pPager->noSync
if( rc==SQLITE_OK
&& (pPager->eState>=PAGER_WRITER_DBMOD || pPager->eState==PAGER_OPEN)
){
rc = sqlite3OsSync(pPager->fd, pPager->syncFlags);
rc = sqlite3PagerSync(pPager);
}
if( rc==SQLITE_OK ){
rc = pager_end_transaction(pPager, zMaster[0]!='\0');
@@ -5596,6 +5596,9 @@ int sqlite3PagerSync(Pager *pPager){
}else{
rc = sqlite3OsSync(pPager->fd, pPager->syncFlags);
}
if( isOpen(pPager->fd) ){
sqlite3OsFileControl(pPager->fd, SQLITE_FCNTL_SYNC, (void *)&rc);
}
return rc;
}
@@ -5813,8 +5816,8 @@ int sqlite3PagerCommitPhaseOne(
}
/* Finally, sync the database file. */
if( !pPager->noSync && !noSync ){
rc = sqlite3OsSync(pPager->fd, pPager->syncFlags);
if( !noSync ){
rc = sqlite3PagerSync(pPager);
}
IOTRACE(("DBSYNC %p\n", pPager))
}