* @param string $query Query string
* @param int $limit
* @param int $offset
+ * @throws DatabaseException
* @return \Doctrine\DBAL\Statement prepared SQL query
*
* SQL query via Doctrine prepare(), needs to be execute()'d!
try {
$result=self::$connection->prepare($query);
} catch(\Doctrine\DBAL\DBALException $e) {
- throw new DatabaseException($e->getMessage(), $query);
+ throw new \DatabaseException($e->getMessage(), $query);
}
$result=new DoctrineStatementWrapper($result);
}
/**
* @brief update the database scheme
* @param string $file file to read structure from
+ * @throws Exception
* @return bool
*/
public static function updateDbFromStructure($file) {
* @brief Insert a row if a matching row doesn't exists.
* @param string $table. The table to insert into in the form '*PREFIX*tableName'
* @param array $input. An array of fieldname/value pairs
- * @returns The return value from DoctrineStatementWrapper->execute()
+ * @return bool return value from DoctrineStatementWrapper->execute()
*/
public static function insertIfNotExist($table, $input) {
self::connect();
OC_Log::write('core', $entry, OC_Log::FATAL);
error_log('DB error: '.$entry);
OC_Template::printErrorPage( $entry );
+ return false;
}
if($result->numRows() == 0) {
OC_Log::write('core', $entry, OC_Log::FATAL);
error_log('DB error: ' . $entry);
OC_Template::printErrorPage( $entry );
+ return false;
}
return $result->execute();
}
/**
- * @brief replaces the owncloud tables with a new set
+ * @brief replaces the ownCloud tables with a new set
* @param $file string path to the MDB2 xml db export file
*/
public static function replaceDB( $file ) {
* Provide a simple fetchOne.
* fetch single column from the next row
* @param int $colnum the column number to fetch
+ * @return string
*/
public function fetchOne($colnum = 0) {
return $this->statement->fetchColumn($colnum);
static protected $DBTABLEPREFIX;
static protected $platform;
+ /**
+ * @param $file
+ * @param $platform
+ * @return \Doctrine\DBAL\Schema\Schema
+ * @throws DomainException
+ */
public static function loadSchemaFromFile($file, $platform) {
self::$DBNAME = OC_Config::getValue( "dbname", "owncloud" );
self::$DBTABLEPREFIX = OC_Config::getValue( "dbtableprefix", "oc_" );
return $schema;
}
+ /**
+ * @param\Doctrine\DBAL\Schema\Schema $schema
+ * @param $xml
+ * @throws DomainException
+ */
private static function loadTable($schema, $xml) {
foreach($xml->children() as $child) {
switch($child->getName()) {
}
}
+ /**
+ * @param \Doctrine\DBAL\Schema\Table $table
+ * @param $xml
+ * @throws DomainException
+ */
private static function loadDeclaration($table, $xml) {
foreach($xml->children() as $child) {
switch($child->getName()) {
}
/**
- * @brief replaces the owncloud tables with a new set
+ * @brief replaces the ownCloud tables with a new set
* @param $file string path to the MDB2 xml db export file
*/
public static function replaceDB( $conn, $file ) {
$apps = OC_App::getAllApps();
self::beginTransaction();
// Delete the old tables
- self::removeDBStructure( OC::$SERVERROOT . '/db_structure.xml' );
+ self::removeDBStructure( $conn, OC::$SERVERROOT . '/db_structure.xml' );
foreach($apps as $app) {
$path = OC_App::getAppPath($app).'/appinfo/database.xml';
if(file_exists($path)) {
- self::removeDBStructure( $path );
+ self::removeDBStructure( $conn, $path );
}
}