Bit more cleanup

This commit is contained in:
Robin Appelman 2014-09-10 13:33:59 +02:00
parent 2ae6a0d96d
commit e6f6cdd19f
3 changed files with 21 additions and 27 deletions

View File

@ -41,19 +41,6 @@ class DatabaseException extends Exception {
* Doctrine with some adaptions. * Doctrine with some adaptions.
*/ */
class OC_DB { class OC_DB {
/**
* @var \OC\DB\Connection $connection
*/
static private $connection; //the preferred connection to use, only Doctrine
/**
* The existing database connection is closed and connected again
*/
public static function reconnect() {
$connection = \OC::$server->getDatabaseConnection();
$connection->close();
$connection->connect();
}
/** /**
* @return \OCP\IDBConnection * @return \OCP\IDBConnection
@ -69,7 +56,7 @@ class OC_DB {
*/ */
private static function getMDB2SchemaManager() private static function getMDB2SchemaManager()
{ {
return new \OC\DB\MDB2SchemaManager(self::getConnection()); return new \OC\DB\MDB2SchemaManager(\OC::$server->getDatabaseConnection());
} }
/** /**
@ -282,17 +269,17 @@ class OC_DB {
* @param string $tableName the table to drop * @param string $tableName the table to drop
*/ */
public static function dropTable($tableName) { public static function dropTable($tableName) {
$connection = \OC::$server->getDatabaseConnection();
$tableName = OC_Config::getValue('dbtableprefix', 'oc_' ) . trim($tableName); $tableName = OC_Config::getValue('dbtableprefix', 'oc_' ) . trim($tableName);
self::$connection->beginTransaction(); $connection->beginTransaction();
$platform = self::$connection->getDatabasePlatform(); $platform = $connection->getDatabasePlatform();
$sql = $platform->getDropTableSQL($platform->quoteIdentifier($tableName)); $sql = $platform->getDropTableSQL($platform->quoteIdentifier($tableName));
self::$connection->query($sql); $connection->executeQuery($sql);
self::$connection->commit(); $connection->commit();
} }
/** /**
@ -332,8 +319,8 @@ class OC_DB {
} }
public static function getErrorCode($error) { public static function getErrorCode($error) {
$code = self::$connection->errorCode(); $connection = \OC::$server->getDatabaseConnection();
return $code; return $connection->errorCode();
} }
/** /**
* returns the error code and message as a string for logging * returns the error code and message as a string for logging
@ -342,10 +329,8 @@ class OC_DB {
* @return string * @return string
*/ */
public static function getErrorMessage($error) { public static function getErrorMessage($error) {
if (self::$connection) { $connection = \OC::$server->getDatabaseConnection();
return self::$connection->getError(); return $connection->getError();
}
return '';
} }
/** /**

View File

@ -21,7 +21,7 @@ class MDB2SchemaManager {
protected $conn; protected $conn;
/** /**
* @param \OC\DB\Connection $conn * @param \OCP\IDBConnection $conn
*/ */
public function __construct($conn) { public function __construct($conn) {
$this->conn = $conn; $this->conn = $conn;
@ -154,7 +154,8 @@ class MDB2SchemaManager {
$this->conn->commit(); $this->conn->commit();
if ($this->conn->getDatabasePlatform() instanceof SqlitePlatform) { if ($this->conn->getDatabasePlatform() instanceof SqlitePlatform) {
\OC_DB::reconnect(); $this->conn->close();
$this->conn->connect();
} }
return true; return true;
} }

View File

@ -150,4 +150,12 @@ interface IDBConnection {
* @return string The quoted parameter. * @return string The quoted parameter.
*/ */
public function quote($input, $type = \PDO::PARAM_STR); public function quote($input, $type = \PDO::PARAM_STR);
/**
* Gets the DatabasePlatform instance that provides all the metadata about
* the platform this driver connects to.
*
* @return \Doctrine\DBAL\Platforms\AbstractPlatform The database platform.
*/
public function getDatabasePlatform();
} }