Hi Sqlite users
We once in a while see the following errors returns by sqlite for a database 
created on nvram. I am trying to understand, how are other users handling this 
error ? if fsync fails and sqlite api fails because of this issue, does sqlite 
internally retry before declaring it cannot commit a transaction because of 
this and should the application retry or this is a non recoverable error ?
I know if the os fsync fails, we cannot guarantee the db remains sane and 
uncorrupted, in case of os crash or shutdown, but just trying to see what 
others are doing for their applications in this scenario.
-Mayank

(1034) SQLITE_IOERR_FSYNC
The SQLITE_IOERR_FSYNC error code is an extended error 
code<https://www.sqlite.org/rescode.html#pve> for 
SQLITE_IOERR<https://www.sqlite.org/rescode.html#ioerr> indicating an I/O error 
in the VFS<https://www.sqlite.org/vfs.html> layer while trying to flush 
previously written content out of OS and/or disk-control buffers and into 
persistent storage. In other words, this code indicates a problem with the 
fsync() system call in unix or the FlushFileBuffers() system call in windows.

Reply via email to