On Fri, 14 Jul 2006 16:59:55 -0600, you wrote:

>On Jul 14, 2006, at 22:53 UTC, Kees Nuyt wrote:
>
>> How many SQL commands are in your typical transaction?
>
>One.
>
>> Do you start them with a "BEGIN" ?
>
>No, I'm using implicit transactions.

Ok, I see.

>> If you never do a "BEGIN", every SQL command is 
>> one transaction, and "COMMIT" has no meaning.
>
>Yes, I'm aware of that, but it shouldn't hurt either (right?).

Indeed, shouldn't hurt.

>Yet my observations indicate that the database hadn't written anything to disk 
>in two days (or if it had, it somehow decided to roll back the last two days' 
>worth after the crash).  Any insight on that?

Actually I'm out of options, but here are a few guesses.
The OS timestamp should tell you when it was last flushed to
disk. There are a few circumstances where crashes of the OS 
could damage some data, bcz the OS reports successfull flushing
while there is still some cashing is going on, either in the OS,
or in the disk hardware.

The syntax descriptions about PRAGMA synchronous= could shed
some light. http://www.sqlite.org/pragma.html#modify
Note: The default for the "synchronous" PRAGMA is version
dependent.

>Best,
>- Joe

HTH
-- 
  (  Kees Nuyt
  )
c[_]

Reply via email to