I'm sure that the docs team will add this to the manual if you ask
them politely.
Specifically, PDO_SQLITE defaults to a 60 second busy timeout. This
can be changed by setting PDO::ATTR_TIMEOUT. The value is specified
in seconds.
ISTR that this option can also be specified for some of the other
database drivers to affect the network timeout when processing a query.
--Wez.
On Mar 14, 2010, at 4:17 AM, Jess Portnoy wrote:
Hi Mark,
I agree but I'm not the maintainer for PDO_SQLITE, I just happen to
know it somewhat and thought it can be useful to you as reference. I
am CCing Wez Furlong who I believe is the lead for it.
May the source be with you,
Best regards,
Jess Portnoy
Mark Karpeles wrote:
Hi,
I checked around PDO (which I don't use at all, but the source is
usually a good documentation).
The timeout can be changed for SQLite and SQLite3 PDO drivers with:
$pdo->setAttribute(PDO::ATTR_TIMEOUT, <value_in_seconds>)
I see that PDO::ATTR_TIMEOUT is not documented on
http://php.net/manual/en/pdo.setattribute.php - it might be a good
idea
to fix this :)
Mark
Le dimanche 14 mars 2010 à 09:57 +0200, Jess Portnoy a écrit :
Hello Mark,
Note that while indeed sqlite3_busy_timeout() is not extended by
the SQLite3 and PDO_SQLITE extensions, it is called internally in
ext/pdo_sqlite/sqlite_driver.c.
I think it is a good idea to extend it but also, that if you do,
it should probably also be done for PDO_SQLITE as it may be useful
there as well.
May the source be with you,
Best regards,
Jess Portnoy
Mark Karpeles wrote:
Hello,
I've been encountering a problem with SELECT queries and SQLite3
as load
was growing on my system. From times to times I was getting this
error:
Warning: SQLite3Stmt::execute(): Unable to execute statement:
database
is locked
After searching on google I saw I should call
sqlite3_busy_timeout() and
found out that there was no way to call it from the SQLite3
extension
(which is new to PHP 5.3.x).
Here's a patch that will add this method to the SQLite3 class:
http://bugs.php.net/51295
https://ookoo.org/svn/snip/php_5_3-sqlite3-busytimeout-method.patch
Any comment welcome.
Mark
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php