On 7/24/06, Xavier Noria <[EMAIL PROTECTED]> wrote:
I am trying to understand a crash I get very often. There are two
processes accessing to the same database in a Windows XP (through
Active Record) doing simple CRUDs on tables, and from any of the two
at random I get an SQLite3::BusyException, for example (copied by hand):

   SQLite3::BusyException: database is locked: SELECT count(*) AS
count_all ...

The processes use transactions, but my understanding is that if the
database is locked the other one will wait to do its stuff until it
is released. Is that right? If so, all of this is quite quick, is
there any tiny timeout that raises the exception if the lock is not
acquired? Os does it sound like an adapter issue to you?

-- fxn



I'm not familiar with the wrapper you are using, but SQLite will only
automatically wait if you tell it to via sqlite3_busy_timeout().  The
default is to return SQLITE_BUSY immediately.


--
Cory Nelson
http://www.int64.org

Reply via email to