On 9/26/19, Gwendal Roué <gwendal.r...@gmail.com> wrote:
>
> My question is: is it possible to prevent checkpoints from completing
> successfully when a snapshot is alive?
>

That depends on what you mean by "alive"?

An sqlite3_snapshot_get() simply records some numbers in private
memory of the database connection that called sqlite3_snapshot_get().
There is no way for another process to know that those numbers have
been recorded, and hence no way to know that the snapshot exists, and
no way to prevent a checkpoint from happening.

On the other hand, if you have run sqlite3_snapshot_open() so that
there is a transaction open on the snapshot, that takes locks on the
database which prevent checkpoints from running to completion and
erasing the snapshot.

-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to