Skip to content

Resources database backup system

Ivan Čukić requested to merge ivan/resources-database-backup into master

More and more things depend on KAMD's resources database. Recent documents, favourites, KRunner, to name a few.

Now, SQLite is fairly stable with the write-ahead-log that has been enabled in KAMD for ages, but corruptions can still happen. Sometimes in SQLite, sometimes in the underlying file system.

This patch introduces a two-step backup system for the resources database. On each start, the current database files are copied to test-backup directory.

If no error appeared during the previous KAMD run, the test-backup files are promoted to working-backup.

This means that in order for a specific version of the database to be considered as 'working' (promoted to a working backup), it needs to have been a beginning of an error-free KAMD session.

Merge request reports