sqlite3 - Consequences of -wal file disappearing in SQLite? -
if sqlite database using write-ahead logging interrupted un-checkpointed transactions (due power failure or whatever), reopened temporary -wal file missing, database open cleanly state of last checkpoint, or corrupted in way?
we're trying sqlite working icloud (yes, know you're not supposed that, make windows , android app , need cross-platform database solution), , think wal provides potential way avoid having maintain 2 copies of our database - we'd keep -wal file outside of icloud store main database in it, avoiding problem of icloud backing rollback journals (or backing databases mid-transaction without journals).
the file format documentation mentions "hot wal file", applies uncommitted data.
the database file not contain information committed data in -wal
file, i.e., transactions before checkpoint typically not alter main database file @ all. therefore, deleting -wal
file restore database state after last checkpoint (which outdated, consistent); transactions committed later lost.
Comments
Post a Comment