On 5 Oct 2018, at 6:17pm, Daniel Kraft <d...@domob.eu> wrote: > If there is indeed no way to achieve my requirements with SQLite
There isn't. I understand what you want and SQLite can't do it. You can simulate it by introducing an extra column in each table and writing your own library to simulate each snapshot. I've never seen it done. But I would imagine it slows down all database operations quite a bit. Another way to simulate it is to keep a log of each SQL command which changes the database in, for example, a table called "changeLog". This needs just two rows: tbe normal INTEGER rowid column SQLite makes for most tables, and a TEXT column for the SQL command. You also add a row to this table when the programmer wants to create a snapshot. Then, to restore the database as it is at a snapshot point, just start with blank tables and process all commands up to the savepoint. I've used this technique myself, and it works. Of course, restoring to a savepoint can take a long time, but in my usecase this was needed very rarely. In this actual usecase I added another column to record which session had processed that SQL command. This gave me a perfect log of who had done what. Simon. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users