Got it. Thank you so much.

On Mon, Jul 16, 2012 at 3:24 PM, Simon Slavin <slav...@bigfraud.org> wrote:

>
> On 16 Jul 2012, at 12:09pm, Durga D <durga.d...@gmail.com> wrote:
>
> >    scenario: while write request is in progress with 100K records
> > insertion, new request with reading of 10000 records already existing
> > records. Here, read request should wait till write request completes. Is
> it
> > correct?
>
> You are correct.  In order to make the insertion of 100K records a single
> write request you will, of course, make it one transaction by enclosing it
> in BEGIN ... COMMIT.
>
> When one request (even one which reads and does not write) is in progress
> SQLite locks the entire database.  The read request will automatically know
> that it cannot execute until the write request is finished.  This will
> prevent any other requests from executing.  You should set a timeout value
> of a few seconds using
>
> <http://www.sqlite.org/c3ref/busy_timeout.html>
>
> to prevent the second request from simply returning a SQLITE_BUSY or
> SQLITE_LOCKED result.  With a timeout set, the read request will wait until
> the write request is finished (or the timeout has expired), and then
> execute.
>
> Simon.
> _______________________________________________
> 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