Hi,
We have a multi-threaded application (I know threads are evil, but this is a
small server application). Each thread tries to access the SQLite database.
When trying to get a DB handle (sqlite3_open), if it returns SQLITE_BUSY, then
the thread will wait for some time and try to open it
one thread is preparing an INSERT statement (It returns SQLITE_OK),
then it is executed using sqlite3_step. sqlite3_step returns an
SQLITE_BUSY! Is there any possibility for this?
Sure. Preparing INSERT statement doesn't acquire any write locks on
the database. It's executing the INSERT
So it means we can have mor than one valid db handle?
Thanks,
Lloyd
- Original Message -
From: Pavel Ivanov paiva...@gmail.com
To: General Discussion of SQLite Database sqlite-users@sqlite.org
Sent: Wednesday, July 07, 2010 6:40 PM
Subject: Re: [sqlite] sqlite3_step returns
of SQLite Database sqlite-users@sqlite.org
Sent: Wednesday, July 07, 2010 6:40 PM
Subject: Re: [sqlite] sqlite3_step returns sqlite_busy
one thread is preparing an INSERT statement (It returns SQLITE_OK),
then it is executed using sqlite3_step. sqlite3_step returns an
SQLITE_BUSY