From: Robin Appelman Date: Fri, 17 Jun 2011 14:09:43 +0000 (+0200) Subject: only create one connection to a sqlite3 database, fixes 'Database locked' errors... X-Git-Tag: v3.0~267^2~519 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=51420a75228d10c803f102eefa3264484675616e;p=nextcloud-server.git only create one connection to a sqlite3 database, fixes 'Database locked' errors with webdav --- diff --git a/lib/MDB2/Driver/sqlite3.php b/lib/MDB2/Driver/sqlite3.php index abd2b16ad4b..a569da187aa 100644 --- a/lib/MDB2/Driver/sqlite3.php +++ b/lib/MDB2/Driver/sqlite3.php @@ -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(); + } } ?> \ No newline at end of file