Stefan Arentz wrote:
> The documentation has the following about the OFF setting of JOURNAL_MODE:
> 
> "The OFF journaling mode disables the rollback journal completely. No
> rollback journal is ever created and hence there is never a rollback
> journal to delete. The OFF journaling mode disables the atomic commit
> and rollback capabilities of SQLite. If a crash or power failure
> occurs in the middle of a transaction when the OFF journaling mode is
> set, then the database file will very likely go corrupt."
> 
> I wonder what 'corrupt' means here.
> 
> Does it mean corrupt as in 'the internal low-level database structure
> will likely go corrupt' or does it mean 'the data in the database will
> likely go inconsistent'.
> 
> The difference is subtle, but important for my application.

It could be either.

If the power fails between updates in a transaction the database 
structures may be internally consistent, but they are logically 
inconsistent because only half of the transaction happened.

If the power fails while the disk is writing a page, then the file may 
be inconsistent, and the internal data in the database corrupt.

You have no control over this without atomic transactions.

HTH
Dennis Cote

_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to