Re: Req #51295: busyTimeout method for SQLite3

From: Date: Sun, 14 Mar 2010 08:14:41 +0000
Subject: Re: Req #51295: busyTimeout method for SQLite3
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-47255@lists.php.net to get a copy of this message
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®œH > > $cúSN4yq¼CŸ > > > > Any comment welcome. > > > > > > Mark > > > > > >

« previous php.internals (#47255) next »