Edit report at http://bugs.php.net/bug.php?id=51295&edit=1
ID: 51295 Updated by: fel...@php.net Reported by: magical...@php.net Summary: SQLite3::busyTimeout not existing -Status: Open +Status: Assigned Type: Feature/Change Request Package: SQLite related Operating System: Linux Gentoo 2.6.33 PHP Version: 5.3SVN-2010-03-14 (SVN) -Assigned To: +Assigned To: scottmac Previous Comments: ------------------------------------------------------------------------ [2010-03-14 08:29:39] magical...@php.net Description: ------------ In SQLite3, method busyTimeout() is missing, and by default there is no busy handler. In old SQLite extension, a default timeout of 60 seconds was set, and a busyTimeout() method was available to define the timeout. I recently started with SQLite3 to have this kind of errors as load was growing on SELECT statement: Warning: SQLite3Stmt::execute(): Unable to execute statement: database is locked Some internet research showed that this could be fixed by setting a different busy timeout, and I noticed PHP wasn't setting any on SQLite3. While I'm unsure about setting a default busyTimeout on SQLite3 (it currently have none, but PHP_5_3 is still young enough to change this kind of behaviour) it should be at least possible to set one. Patch to add a SQLite3::busyTimeout() method (same behaviour as old SQLite::busyTimeout() method, with the exception this one has a true/false return value, while sqlite3_busy_timeout will always return SQLITE_OK, it may change in the future). The patch: https://ookoo.org/svn/snip/php_5_3-sqlite3-busytimeout-method.patch ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=51295&edit=1