in reply to SQLite busy_timeout not works as expected
G'day zdm,
A little more detail on how and where you're setting busy_timeout would probably be helpful in troubleshooting this issue.
From the current (v3.8.4.1) SQLite documentation, busy_timeout is a PRAGMA. Looking at the PRAGMA documentation, you'll see that these can take effect at different times and this can vary with different releases. So, knowing when you're using this and your SQLite version may be important.
You only tell us: "set busy_timeout = 0". Is that the command you're using? The documentation for busy_timeout gives the syntax as:
PRAGMA busy_timeout = milliseconds;
Are you using set or PRAGMA?
Also on that page, you'll see:
"This pragma is an alternative to the sqlite3_busy_timeout() C-language interface which is made available as a pragma for use with language bindings that do not provide direct access to sqlite3_busy_timeout()."
However, DBD::SQLite does provide such a binding.
What's the result of querying busy_timeout like this?
$dbh->sqlite_busy_timeout()
What's the result of setting busy_timeout like this?
$dbh->sqlite_busy_timeout(0)
Documentation for both of those can be found in $dbh->sqlite_busy_timeout() and $dbh->sqlite_busy_timeout($ms).
-- Ken
|
|---|