Skip to content
Snippets Groups Projects
Commit e30e4ea1 authored by Thomas Müller's avatar Thomas Müller
Browse files

php 5.3 compatibility regarding OC\DB\Connection fixed

parent 408e0022
No related branches found
No related tags found
No related merge requests found
......@@ -12,7 +12,7 @@ use Doctrine\DBAL\Configuration;
use Doctrine\DBAL\Cache\QueryCacheProfile;
use Doctrine\Common\EventManager;
class Connection extends \Doctrine\DBAL\Connection implements \OCP\IDBConnection {
class Connection extends \Doctrine\DBAL\Connection {
/**
* @var string $tablePrefix
*/
......
<?php
namespace OC\DB;
class ConnectionWrapper implements \OCP\IDBConnection {
private $connection;
public function __construct(Connection $conn) {
$this->connection = $conn;
}
/**
* Used to the owncloud database access away
* @param string $sql the sql query with ? placeholder for params
* @param int $limit the maximum number of rows
* @param int $offset from which row we want to start
* @return \Doctrine\DBAL\Driver\Statement The prepared statement.
*/
public function prepare($sql, $limit = null, $offset = null)
{
return $this->connection->prepare($sql, $limit, $offset);
}
/**
* Used to get the id of the just inserted element
* @param string $tableName the name of the table where we inserted the item
* @return int the id of the inserted element
*/
public function lastInsertId($table = null)
{
return $this->connection->lastInsertId($table);
}
/**
* Insert a row if a matching row doesn't exists.
* @param string The table name (will replace *PREFIX*) to perform the replace on.
* @param array
*
* The input array if in the form:
*
* array ( 'id' => array ( 'value' => 6,
* 'key' => true
* ),
* 'name' => array ('value' => 'Stoyan'),
* 'family' => array ('value' => 'Stefanov'),
* 'birth_date' => array ('value' => '1975-06-20')
* );
* @return bool
*
*/
public function insertIfNotExist($table, $input)
{
return $this->connection->insertIfNotExist($table, $input);
}
/**
* Start a transaction
* @return bool TRUE on success or FALSE on failure
*/
public function beginTransaction()
{
return $this->connection->beginTransaction();
}
/**
* Commit the database changes done during a transaction that is in progress
* @return bool TRUE on success or FALSE on failure
*/
public function commit()
{
return $this->connection->commit();
}
/**
* Rollback the database changes done during a transaction that is in progress
* @return bool TRUE on success or FALSE on failure
*/
public function rollBack()
{
return $this->connection->rollBack();
}
/**
* Gets the error code and message as a string for logging
* @return string
*/
public function getError()
{
return $this->connection->getError();
}
}
......@@ -5,6 +5,7 @@ namespace OC;
use OC\AppFramework\Http\Request;
use OC\AppFramework\Utility\SimpleContainer;
use OC\Cache\UserCache;
use OC\DB\ConnectionWrapper;
use OC\Files\Node\Root;
use OC\Files\View;
use OCP\IServerContainer;
......@@ -289,7 +290,7 @@ class Server extends SimpleContainer implements IServerContainer {
* @return \OCP\IDBConnection
*/
function getDatabaseConnection() {
return \OC_DB::getConnection();
return new ConnectionWrapper(\OC_DB::getConnection());
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment