>From http://www.sqlite.org/lockingv3.html

  If multiple commands are being executed against the same SQLite
  database connection at the same time, the autocommit is deferred
  until the very last command completes. For example, if a SELECT
  statement is being executed, the execution of the command will pause
  as each row of the result is returned. During this pause other
  INSERT, UPDATE, or DELETE commands can be executed against other
  tables in the database. But none of these changes will commit until
  the original SELECT statement finishes.

I have an application that absolutely must not return from a certain
call until the results of an update are safely committed to disk.  The
situation above would be considered "not safe".  How can I perform an
update and then wait until I am completely certain that the data is on
the disk, regardless of whether or not other selects are still in
progress?  Blocking for a long time is okay, returning early is not.

I've recently had problems with the above situation occurring, my
application declaring "the data is safely on the disk", and then the
process gets killed.  When the process comes back, the data is gone.

Thanks,

  - a



_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to