I've previously used the existence of a -journal file as a quick check
to see if there were transactions in progress.  With the new pragma that
check doesn't work any more, so it's harder to know whether the DB was
in a clean state at the last power off without looking inside the
-journal file.

Another issue is with certain levels of journaling on some file systems
(ext3 in journaled mode for example) rewrites aren't journaled but
deletes are, so if you combine "PRAGMA synchronous = NORMAL" with
"PRAGMA journal_mode = PERSIST" I think there's a hole where you could
end up with a corrupt journal file and a corrupt main db.  (Full
journaling or full synchronization should close that hole.)

                                                        --Bob 

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Richard Klein
Sent: Tuesday, May 06, 2008 3:25 PM
To: General Discussion of SQLite Database
Subject: Re: [sqlite] PRAGMA journal_mode not implemented?

Bob Ebert wrote:
> Is journal_mode a future optimization?  The atomic commit 
> documentation
> (http://sqlite.org/atomiccommit.html) as well as the pragma docs
> (http://www.sqlite.org/pragma.html) make tantalizing references to 
> this potentially useful optimization, but I've searched the 3.5.1 and 
> 3.5.8 sources and I can't find any mention of journal_mode switches in

> the source.  It appears as if 3.5.x behaves as if this pragma were set

> to DELETE.
>  
> Ah, ok, more digging in the wiki suggests that this isn't a released 
> feature yet, it's post-3.5.8.  Anyone care to speculate on when this 
> will hit release?

Regarding the new PRAGMA journal_mode:

Since PERSIST is likely to be faster than DELETE on most platforms, is
there ever a reason *not* to use it?

Put differently, is there any advantage to DELETE over PERSIST?

- Richard Klein

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

Reply via email to