On Wed, Apr 24, 2013 at 8:28 AM, Sašo Kiselkov <skiselkov...@gmail.com>wrote:

> I'm running into I/O errors when trying to access a sqlite3 database
> which is using WAL from my app. While using journal_mode=delete,
> everything is fine, but as soon as I switch over to journal_mode=wal, I
> just get a load of I/O errors on any query, regardless if it is a SELECT
> or UPDATE/INSERT.
>


Can you please turn on error logging (as described at
http://www.sqlite.org/draft/errlog.html) and let us know more details about
the I/O error you are seeing?


>
> All SQLite ops take place in a separate thread to prevent blocking the
> main app thread (which is doing network io). The local filesystem where
> database lives is ZFS (which has mmap support) on a recent build of
> OpenIndiana (an OpenSolaris-derivative). I've downloaded the latest
> stable SQLite release and compiled that with the default flags (which
> has threading enabled, IIRC).
>
> My SQL flow is as follows (this is my app creating a new DB and
> populating it with its tables):
>
>  <open empty new database>
>  PRAMA journal_mode=WAL
>  BEGIN
>  DROP TABLE IF EXISTS `version`   <- [I/O error]
>
> After this the database looks like this:
> -rw-r--r-- 1 root root 1.0K 2013-04-24 14:21 block.db
> -rw-r--r-- 1 root root    0 2013-04-24 14:21 block.db-shm
> -rw-r--r-- 1 root root    0 2013-04-24 14:21 block.db-wal
>
> Strangely enough, working on the database through the sqlite3
> command-line tool works just fine. Is there some magic of sqlite API
> calls that needs to be executed to support WAL databases? Unfortunately,
> my Google searched turned up dry so far...
>
> Cheers,
> --
> Saso
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>



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

Reply via email to