Bit more cleanup
This commit is contained in:
parent
2ae6a0d96d
commit
e6f6cdd19f
|
@ -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 '';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue