diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2014-11-26 12:38:24 +0100 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2014-11-27 11:10:04 +0100 |
commit | e1f3abf7a583669ba1fed703365de9e12a76e22c (patch) | |
tree | 75cffc34cf486d4b1759160dfb5cd93c4b6f3dd0 | |
parent | 3338eede3ccb2ead223a46fd537b7504bb4786e0 (diff) | |
download | nextcloud-server-e1f3abf7a583669ba1fed703365de9e12a76e22c.tar.gz nextcloud-server-e1f3abf7a583669ba1fed703365de9e12a76e22c.zip |
Correctly namespace and autoload DatabaseException
-rw-r--r-- | lib/private/databaseexception.php | 23 | ||||
-rw-r--r-- | lib/private/db.php | 36 | ||||
-rw-r--r-- | lib/private/group/database.php | 2 | ||||
-rw-r--r-- | lib/private/server.php | 2 | ||||
-rw-r--r-- | tests/lib/testcase.php | 4 |
5 files changed, 38 insertions, 29 deletions
diff --git a/lib/private/databaseexception.php b/lib/private/databaseexception.php new file mode 100644 index 00000000000..1135621ead2 --- /dev/null +++ b/lib/private/databaseexception.php @@ -0,0 +1,23 @@ +<?php +/** + * Copyright (c) 2012 Frank Karlitschek <frank@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OC; + +class DatabaseException extends \Exception { + private $query; + + //FIXME getQuery seems to be unused, maybe use parent constructor with $message, $code and $previous + public function __construct($message, $query = null){ + parent::__construct($message); + $this->query = $query; + } + + public function getQuery() { + return $this->query; + } +} diff --git a/lib/private/db.php b/lib/private/db.php index b820281b8a3..f8015133682 100644 --- a/lib/private/db.php +++ b/lib/private/db.php @@ -22,20 +22,6 @@ define('MDB2_SCHEMA_DUMP_STRUCTURE', '1'); -class DatabaseException extends Exception { - private $query; - - //FIXME getQuery seems to be unused, maybe use parent constructor with $message, $code and $previous - public function __construct($message, $query = null){ - parent::__construct($message); - $this->query = $query; - } - - public function getQuery() { - return $this->query; - } -} - /** * This class manages the access to the database. It basically is a wrapper for * Doctrine with some adaptions. @@ -65,7 +51,7 @@ class OC_DB { * @param int $limit * @param int $offset * @param bool $isManipulation - * @throws DatabaseException + * @throws \OC\DatabaseException * @return OC_DB_StatementWrapper prepared SQL query * * SQL query via Doctrine prepare(), needs to be execute()'d! @@ -82,7 +68,7 @@ class OC_DB { try { $result =$connection->prepare($query, $limit, $offset); } catch (\Doctrine\DBAL\DBALException $e) { - throw new \DatabaseException($e->getMessage(), $query); + throw new \OC\DatabaseException($e->getMessage(), $query); } // differentiate between query and manipulation $result = new OC_DB_StatementWrapper($result, $isManipulation); @@ -123,7 +109,7 @@ class OC_DB { * .. or a simple sql query string * @param array $parameters * @return OC_DB_StatementWrapper - * @throws DatabaseException + * @throws \OC\DatabaseException */ static public function executeAudited( $stmt, array $parameters = null) { if (is_string($stmt)) { @@ -132,7 +118,7 @@ class OC_DB { // TODO try to convert LIMIT OFFSET notation to parameters, see fixLimitClauseForMSSQL $message = 'LIMIT and OFFSET are forbidden for portability reasons,' . ' pass an array with \'limit\' and \'offset\' instead'; - throw new DatabaseException($message); + throw new \OC\DatabaseException($message); } $stmt = array('sql' => $stmt, 'limit' => null, 'offset' => null); } @@ -140,7 +126,7 @@ class OC_DB { // convert to prepared statement if ( ! array_key_exists('sql', $stmt) ) { $message = 'statement array must at least contain key \'sql\''; - throw new DatabaseException($message); + throw new \OC\DatabaseException($message); } if ( ! array_key_exists('limit', $stmt) ) { $stmt['limit'] = null; @@ -160,7 +146,7 @@ class OC_DB { } else { $message = 'Expected a prepared statement or array got ' . gettype($stmt); } - throw new DatabaseException($message); + throw new \OC\DatabaseException($message); } return $result; } @@ -169,7 +155,7 @@ class OC_DB { * gets last value of autoincrement * @param string $table The optional table name (will replace *PREFIX*) and add sequence suffix * @return string id - * @throws DatabaseException + * @throws \OC\DatabaseException * * \Doctrine\DBAL\Connection lastInsertId * @@ -312,7 +298,7 @@ class OC_DB { * @param mixed $result * @param string $message * @return void - * @throws DatabaseException + * @throws \OC\DatabaseException */ public static function raiseExceptionOnError($result, $message = null) { if(self::isError($result)) { @@ -321,7 +307,7 @@ class OC_DB { } else { $message .= ', Root cause:' . self::getErrorMessage($result); } - throw new DatabaseException($message, self::getErrorCode($result)); + throw new \OC\DatabaseException($message, self::getErrorCode($result)); } } @@ -345,7 +331,7 @@ class OC_DB { * * @param string $table * @return bool - * @throws DatabaseException + * @throws \OC\DatabaseException */ public static function tableExists($table) { @@ -381,7 +367,7 @@ class OC_DB { $result = \OC_DB::executeAudited($sql, array($table)); break; default: - throw new DatabaseException("Unknown database type: $dbType"); + throw new \OC\DatabaseException("Unknown database type: $dbType"); } return $result->fetchOne() === $table; diff --git a/lib/private/group/database.php b/lib/private/group/database.php index 6bad55c8d5e..2069e99599f 100644 --- a/lib/private/group/database.php +++ b/lib/private/group/database.php @@ -220,7 +220,7 @@ class OC_Group_Database extends OC_Group_Backend { * @param string $gid * @param string $search * @return int|false - * @throws DatabaseException + * @throws \OC\DatabaseException */ public function countUsersInGroup($gid, $search = '') { $stmt = OC_DB::prepare('SELECT COUNT(`uid`) AS `count` FROM `*PREFIX*group_user` WHERE `gid` = ? AND `uid` LIKE ?'); diff --git a/lib/private/server.php b/lib/private/server.php index c413ee8bf6d..cd57d41ce58 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -205,7 +205,7 @@ class Server extends SimpleContainer implements IServerContainer { $factory = new \OC\DB\ConnectionFactory(); $type = $c->getConfig()->getSystemValue('dbtype', 'sqlite'); if (!$factory->isValidType($type)) { - throw new \DatabaseException('Invalid database type'); + throw new \OC\DatabaseException('Invalid database type'); } $connectionParams = $factory->createConnectionParams($c->getConfig()); $connection = $factory->getConnection($type, $connectionParams); diff --git a/tests/lib/testcase.php b/tests/lib/testcase.php index e6f5ca71dac..934bc5fa8f3 100644 --- a/tests/lib/testcase.php +++ b/tests/lib/testcase.php @@ -64,7 +64,7 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase { /** * Remove all entries from the storages table - * @throws \DatabaseException + * @throws \OC\DatabaseException */ static protected function tearDownAfterClassCleanStorages() { $sql = 'DELETE FROM `*PREFIX*storages`'; @@ -74,7 +74,7 @@ abstract class TestCase extends \PHPUnit_Framework_TestCase { /** * Remove all entries from the filecache table - * @throws \DatabaseException + * @throws \OC\DatabaseException */ static protected function tearDownAfterClassCleanFileCache() { $sql = 'DELETE FROM `*PREFIX*filecache`'; |