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

Reply via email to