How is this different from two threads each with a db connection in a
single process?

Moreover the journal mode is WAL. Hence the writer should be able to append
changes to the WAL file as there are no other write transaction.

Sreekumar
On Feb 10, 2012 6:22 PM, "Richard Hipp" <d...@sqlite.org> wrote:

> On Fri, Feb 10, 2012 at 6:47 AM, Sreekumar TP <sreekumar...@gmail.com
> >wrote:
>
> > I have a 'database is locked' issued which can be reproduced as follows.
> >
> > I have two applications opening the database in WAL mode. The threading
> > mode is SERIALIZED.  Environment is  PC/Linux.
> >
> >
> >
> > Step1: Launch App1 followed by App 2 ( same executables)
> > Step 2: App1 Prepares a SELECT statement and executes the statement.
> > Step 3: The statement is not reset and finalized.
> > Step 4: App1 wait on keyboard input
> > Step 5 : App2 prepares a statement to update a few records. The statement
> > is  executed, reset and finalized
> > Step 6: Go back to App1, prepare an UPDATE/INSERT statement and execute
> it.
> >
>
> At this point, App1 is still holding a read transaction open that points to
> an image of the database from an earlier point in time.  App1 is not
> allowed to write to the database because that would cause the database
> content to fork.  Any database connection must be in a transaction that
> shows the very latest content of the database in order for it to write
> without forking.
>
>
> >
> > Result: 'database is locked' error is thrown by App 1
> >
> > App2 should have released the exclusive lock after it has reset and
> > finalized the statement.Hence App1 should not have encountered
> SQLITE_BUSY
> > when writing.
> >
> >
> > What could be the cause ?
> >
> > Kind Regards,
> > Sreekumar
> > _______________________________________________
> > 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

Reply via email to