Ok.. But I sqlite can still check the number of db connections open and
optimise the checking=> as long as there is only one writer, do not check
for hot journals.

Can a database have two connections opened with two different journal modes
?

On Wed, Aug 10, 2011 at 11:35 PM, Pavel Ivanov <paiva...@gmail.com> wrote:

> > If you have one reader and many writers, consider PRAGMA
> journal_mode=WAL;
>
> Richard meant "one writer and many readers" of course.
>
> >> If the other process opens the db connection as read_only, will the hot
> >> journal check be still done (during queries operations of the second
> >> process)?
> >>
> >
> > How is the second process suppose to know whether or not the other
> process
> > used read_only?
>
> And even those who opened db connection as read_only will check for
> hot journal before executing any query.
>
>
> Pavel
>
> On Wed, Aug 10, 2011 at 1:44 PM, Richard Hipp <d...@sqlite.org> wrote:
> > On Wed, Aug 10, 2011 at 1:35 PM, Sreekumar TP <sreekumar...@gmail.com
> >wrote:
> >
> >> Ok, its getting a bit clear.
> >> If there is only one process that is writing to the database, but has
> more
> >> than one process that reads the database, the locking mode can still be
> >> exclusive  ?
> >>
> >
> > PRAGMA locking_mode=EXCLUSIVE;  means "exclusive'.  Only one process can
> > access.
> >
> > If you have one reader and many writers, consider PRAGMA
> journal_mode=WAL;
> >
> >
> >
> >> If the other process opens the db connection as read_only, will the hot
> >> journal check be still done (during queries operations of the second
> >> process)?
> >>
> >
> > How is the second process suppose to know whether or not the other
> process
> > used read_only?
> >
> >
> >>
> >>
> >>
> >>
> >> On Wed, Aug 10, 2011 at 10:54 PM, Richard Hipp <d...@sqlite.org> wrote:
> >>
> >> > On Wed, Aug 10, 2011 at 1:09 PM, Simon Slavin <slav...@bigfraud.org>
> >> > wrote:
> >> >
> >> > >
> >> > > On 10 Aug 2011, at 6:01pm, Sreekumar TP wrote:
> >> > >
> >> > > > Thanks for the explanation. The journal mode was OFF  which means
> >> there
> >> > > is
> >> > > > no journal file created. So why is it the check still performed ?
> >> > >
> >> > >  Because the journal mode might have been 'ON' the last time that
> >> > database
> >> > > was used.
> >> > >
> >> >
> >> > More importantly, the journal mode might be 'ON' in the other process
> >> that
> >> > crashed in the middle of a transaction.
> >> >
> >> >
> >> >
> >> > >
> >> > > > On Wed, Aug 10, 2011 at 10:24 PM, Richard Hipp <d...@sqlite.org>
> >> wrote:
> >> > > >
> >> > > >> On Wed, Aug 10, 2011 at 12:40 PM, Sreekumar TP <
> >> > sreekumar...@gmail.com
> >> > > >>> wrote:
> >> > > >>
> >> > > >>> The 179148 failures on 'access' system call is due to access
> check
> >> of
> >> > > two
> >> > > >>> files - the journal file and the wal-file.
> >> > >
> >> > > Well, the file is obviously not being opened 179148 times.  I
> thought
> >> it
> >> > > checked for these files only when sqlite3_open() was being run.  Is
> it
> >> > > checking for these files every time a command is executed ?  Surely
> >> that
> >> > is
> >> > > unnecessary and a source of a large reduction in speed.
> >> > >
> >> >
> >> > SQLite must check for hot journals at the start of each transaction.
> >> >
> >> > Or, more precisely, SQLite must check for hot journals whenever it
> starts
> >> > reading the database again after a period of time when another process
> >> > might
> >> > have been writing to the database (and might have crashed while
> writing).
> >> >
> >> > That's when PRAGMA locking_mode=EXCLUSIVE blocks the hot-journal
> checks.
> >> >  If
> >> > your process has exclusive access to the database, it is not possible
> for
> >> > another process to write to the database (and crash in the middle of
> >> > writing).
> >> >
> >> >
> >> >
> >> > >
> >> > > Simon.
> >> > > _______________________________________________
> >> > > 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
> >
> _______________________________________________
> 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