only create one connection to a sqlite3 database, fixes 'Database locked' errors with webdav

This commit is contained in:
Robin Appelman 2011-06-17 16:09:43 +02:00
parent c4e7761ee8
commit 51420a7522
1 changed files with 8 additions and 0 deletions

View File

@ -348,6 +348,9 @@ class MDB2_Driver_sqlite3 extends MDB2_Driver_Common
**/
function connect()
{
if($this->connection instanceof SQLite3){
return MDB2_OK;
}
global $SERVERROOT;
$datadir=OC_CONFIG::getValue( "datadirectory", "$SERVERROOT/data" );
$database_file = $this->_getDatabaseFile($this->database_name);
@ -409,6 +412,7 @@ class MDB2_Driver_sqlite3 extends MDB2_Driver_Common
$php_errormsg = '';
$this->connection = new SQLite3($database_file);
$this->connection->busyTimeout(100);
$this->_lasterror = $this->connection->lastErrorMsg();
if (!$this->connection) {
return $this->raiseError(MDB2_ERROR_CONNECT_FAILED, null, null,
@ -1346,6 +1350,10 @@ class MDB2_Statement_sqlite3 extends MDB2_Statement_Common
$result =$this->_execute($result_class, $result_wrap_class);
return $result;
}
function __destruct() {
$this->free();
}
}
?>