On Mon, Aug 1, 2011 at 8:45 AM, <sreekumar...@gmail.com> wrote: > Hi, > > Thanks for the detailed explanation. > My original question was more in relation to the .db-wal file. I guess the > same discussion is applicable to the db-wal file also?. In my project, in > all probability one writer and multiple readers. Hence the chances of > corruption is greatly reduced. > One problem I have noticed is that I have to create (an empty) a file with > the same name as the database file in the tmpfs for correct working . >
If the WAL file is in volatile storage and you lose power or reset, your database will likely go corrupt. > > > Sent from BlackBerry® on Airtel > > -----Original Message----- > From: Richard Hipp <d...@sqlite.org> > Sender: sqlite-users-boun...@sqlite.org > Date: Mon, 1 Aug 2011 07:07:52 > To: General Discussion of SQLite Database<sqlite-users@sqlite.org> > Reply-To: General Discussion of SQLite Database <sqlite-users@sqlite.org> > Subject: Re: [sqlite] Sqlite-Wal file location > > On Sun, Jul 31, 2011 at 11:51 PM, Sreekumar TP <sreekumar...@gmail.com > >wrote: > > > Hello, > > > > Inorder to suit the needs of my embedded device, I have changed the > > location > > of the .db-wal file from the location of the db file to tmpfs. Does > sqlite > > make assumptions(persistence etc) based on the location of the file ? > > > > An early prototype of WAL did exactly what you describe. But we then > encountered database corruption during testing when two separate processes > tried to access the same database file where one of the processes was in a > chroot jail and the other was not. Both processes used the same name for > the -shm file, but because of the chroot jail, they in fact used two > separate -shm files. Fossil uses SQLite in WAL mode and it often runs in a > chroot jail, so this is not an uncommon scenario. > > The only way we have found to ensure that all processes use the same -shm > file is to put the -shm file in the same directory as the database file. > > For an embedded project, you can put the -shm file wherever you want as > long > as all processes agree to use the same file. If you mess up, and two or > more processes use different -shm files for the same database, database > corruption will result. You have been warned. > > Note that -shm does not have to be a file. We just need an area of shared > memory common to all processes accessing the database. On unix and > windows, > we found this most convenient to implement as a file using mmap(). But if > you have some other mechanism on your embedded device that would work > better, you are welcomed to use that. > > > > > > _______________________________________________ > > 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 > _______________________________________________ > 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