The DB->sync function flushes any cached information to disk.
If the database is in memory only, the DB->sync function has no effect and
will always succeed.
The flags parameter is currently unused, and must be set to 0.
See DB->close for a discussion of Berkeley DB and cached data.
The DB->sync function returns a non-zero error value on failure, 0 on success, and returns DB_INCOMPLETE if the underlying database still has
dirty pages in the cache. (The only reason to return
DB_INCOMPLETE is if another thread of control was writing pages
in the underlying database file at the same time as the
DB->sync function was being called. For this reason, a return of
DB_INCOMPLETE can normally be ignored, or, in cases where it is
a possible return value, there may be no reason to call
DB->sync.)
Errors
The DB->sync function may fail and return a non-zero error for the following conditions:
EINVAL
An invalid flag value or parameter was specified.
The DB->sync function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions.
If a catastrophic error has occurred, the DB->sync function may fail and return
DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail
in the same way.