diff options
author | VicDeo <dubiniuk@owncloud.com> | 2013-10-23 05:35:33 -0700 |
---|---|---|
committer | VicDeo <dubiniuk@owncloud.com> | 2013-10-23 05:35:33 -0700 |
commit | 959b0f912559ae0c6751cb5c0d14a9be5b58f19b (patch) | |
tree | a7394673272042aa9a359b5e7cd12250e8ec29e2 /lib/private/db | |
parent | 76f831979b7d15b60c2324ce7a2904a10725af7a (diff) | |
parent | 3c710696e8ae72ff2f264d2df8b20cd364fe5003 (diff) | |
download | nextcloud-server-959b0f912559ae0c6751cb5c0d14a9be5b58f19b.tar.gz nextcloud-server-959b0f912559ae0c6751cb5c0d14a9be5b58f19b.zip |
Merge pull request #5458 from owncloud/fixing-5222-master
php 5.3 compatibility regarding OC\DB\Connection fixed
Diffstat (limited to 'lib/private/db')
-rw-r--r-- | lib/private/db/connection.php | 2 | ||||
-rw-r--r-- | lib/private/db/connectionwrapper.php | 99 |
2 files changed, 100 insertions, 1 deletions
diff --git a/lib/private/db/connection.php b/lib/private/db/connection.php index 2d3193a148a..2581969dbd0 100644 --- a/lib/private/db/connection.php +++ b/lib/private/db/connection.php @@ -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 */ diff --git a/lib/private/db/connectionwrapper.php b/lib/private/db/connectionwrapper.php new file mode 100644 index 00000000000..93d4fb57f74 --- /dev/null +++ b/lib/private/db/connectionwrapper.php @@ -0,0 +1,99 @@ +<?php +/** + * Copyright (c) 2013 Thomas Müller <deepdiver@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +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(); + } +} |