Our PRAGMA cache_size = 4000. Is there any recommended way to calculate the cache size needed?
On Tue, Jun 10, 2008 at 5:29 PM, Igor Tandetnik <[EMAIL PROTECTED]> wrote: > "Sabyasachi Ruj" <[EMAIL PROTECTED]> > wrote in message > news:[EMAIL PROTECTED]<[EMAIL PROTECTED]> > > Now, I have two threads:- > > Thread1: Is deleting 7,00, 000 rows from the table. > > Thread2: Is doing SELECT on the same table. > > > > Now the problem is sometimes the sqlite3_prepare for the SELECT query > > is failing with SQLITE_BUSY error. > > Are you sure it's the prepare that fails, and not step? Only the very > first prepare after opening the connection may fail this way, because > SQLite needs to read database schema at this point. > > > 1. What is the best way to handle this error, and continue working > > normally? > > Retry until you manage to go through. Or, prepare all the necessary > statements up front, before commencing any database work. Then prepare > won't fail (of course, step still may). > > > 2. Is there any documentation in sqlite3.org, which discuses the > > locking mechanism for DELETEs? Exacly in what phase of DELETE sqlite > > creates the exclusive lock, so, the SELECT is failing? > > http://sqlite.org/lockingv3.html > > EXCLUSIVE lock is obtained whenever SQLite needs to write to the > database file. This may happen when the transaction is committed, or > when the number of changes in a still-open transaction becomes so large > that it no longer fits in a memory cache and has to be spilled to disk. > > Igor Tandetnik > > > > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > -- Sabyasachi _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users