diff options
-rw-r--r-- | lib/composer/composer/autoload_classmap.php | 1 | ||||
-rw-r--r-- | lib/composer/composer/autoload_static.php | 1 | ||||
-rw-r--r-- | lib/private/Repair.php | 2 | ||||
-rw-r--r-- | lib/private/Repair/NC11/FixMountStorages.php | 60 | ||||
-rw-r--r-- | tests/lib/Repair/NC11/FixMountStoragesTest.php | 114 |
5 files changed, 0 insertions, 178 deletions
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php index d5a3dcb5cd5..a6f7f555df0 100644 --- a/lib/composer/composer/autoload_classmap.php +++ b/lib/composer/composer/autoload_classmap.php @@ -1778,7 +1778,6 @@ return array( 'OC\\Repair\\Events\\RepairStepEvent' => $baseDir . '/lib/private/Repair/Events/RepairStepEvent.php', 'OC\\Repair\\Events\\RepairWarningEvent' => $baseDir . '/lib/private/Repair/Events/RepairWarningEvent.php', 'OC\\Repair\\MoveUpdaterStepFile' => $baseDir . '/lib/private/Repair/MoveUpdaterStepFile.php', - 'OC\\Repair\\NC11\\FixMountStorages' => $baseDir . '/lib/private/Repair/NC11/FixMountStorages.php', 'OC\\Repair\\NC13\\AddLogRotateJob' => $baseDir . '/lib/private/Repair/NC13/AddLogRotateJob.php', 'OC\\Repair\\NC14\\AddPreviewBackgroundCleanupJob' => $baseDir . '/lib/private/Repair/NC14/AddPreviewBackgroundCleanupJob.php', 'OC\\Repair\\NC16\\AddClenupLoginFlowV2BackgroundJob' => $baseDir . '/lib/private/Repair/NC16/AddClenupLoginFlowV2BackgroundJob.php', diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php index e148567b4c9..54dfde87806 100644 --- a/lib/composer/composer/autoload_static.php +++ b/lib/composer/composer/autoload_static.php @@ -1811,7 +1811,6 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2 'OC\\Repair\\Events\\RepairStepEvent' => __DIR__ . '/../../..' . '/lib/private/Repair/Events/RepairStepEvent.php', 'OC\\Repair\\Events\\RepairWarningEvent' => __DIR__ . '/../../..' . '/lib/private/Repair/Events/RepairWarningEvent.php', 'OC\\Repair\\MoveUpdaterStepFile' => __DIR__ . '/../../..' . '/lib/private/Repair/MoveUpdaterStepFile.php', - 'OC\\Repair\\NC11\\FixMountStorages' => __DIR__ . '/../../..' . '/lib/private/Repair/NC11/FixMountStorages.php', 'OC\\Repair\\NC13\\AddLogRotateJob' => __DIR__ . '/../../..' . '/lib/private/Repair/NC13/AddLogRotateJob.php', 'OC\\Repair\\NC14\\AddPreviewBackgroundCleanupJob' => __DIR__ . '/../../..' . '/lib/private/Repair/NC14/AddPreviewBackgroundCleanupJob.php', 'OC\\Repair\\NC16\\AddClenupLoginFlowV2BackgroundJob' => __DIR__ . '/../../..' . '/lib/private/Repair/NC16/AddClenupLoginFlowV2BackgroundJob.php', diff --git a/lib/private/Repair.php b/lib/private/Repair.php index a41c6c5277e..942cd77e5cb 100644 --- a/lib/private/Repair.php +++ b/lib/private/Repair.php @@ -27,7 +27,6 @@ use OC\Repair\Events\RepairStartEvent; use OC\Repair\Events\RepairStepEvent; use OC\Repair\Events\RepairWarningEvent; use OC\Repair\MoveUpdaterStepFile; -use OC\Repair\NC11\FixMountStorages; use OC\Repair\NC13\AddLogRotateJob; use OC\Repair\NC14\AddPreviewBackgroundCleanupJob; use OC\Repair\NC16\AddClenupLoginFlowV2BackgroundJob; @@ -163,7 +162,6 @@ class Repair implements IOutput { \OC::$server->getConfig() ), new MigrateOauthTables(\OC::$server->get(Connection::class)), - new FixMountStorages(\OC::$server->getDatabaseConnection()), new UpdateLanguageCodes(\OC::$server->getDatabaseConnection(), \OC::$server->getConfig()), new AddLogRotateJob(\OC::$server->getJobList()), new ClearFrontendCaches(\OC::$server->getMemCacheFactory(), \OCP\Server::get(JSCombiner::class)), diff --git a/lib/private/Repair/NC11/FixMountStorages.php b/lib/private/Repair/NC11/FixMountStorages.php deleted file mode 100644 index b1663102d2f..00000000000 --- a/lib/private/Repair/NC11/FixMountStorages.php +++ /dev/null @@ -1,60 +0,0 @@ -<?php -/** - * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors - * SPDX-License-Identifier: AGPL-3.0-or-later - */ -namespace OC\Repair\NC11; - -use OCP\DB\QueryBuilder\IQueryBuilder; -use OCP\IDBConnection; -use OCP\Migration\IOutput; -use OCP\Migration\IRepairStep; - -class FixMountStorages implements IRepairStep { - /** @var IDBConnection */ - private $db; - - /** - * @param IDBConnection $db - */ - public function __construct(IDBConnection $db) { - $this->db = $db; - } - - /** - * @return string - */ - public function getName() { - return 'Fix potential broken mount points'; - } - - public function run(IOutput $output) { - $query = $this->db->getQueryBuilder(); - $query->select('m.id', 'f.storage') - ->from('mounts', 'm') - ->leftJoin('m', 'filecache', 'f', $query->expr()->eq('m.root_id', 'f.fileid')) - ->where($query->expr()->neq('m.storage_id', 'f.storage')); - - $update = $this->db->getQueryBuilder(); - $update->update('mounts') - ->set('storage_id', $update->createParameter('storage')) - ->where($query->expr()->eq('id', $update->createParameter('mount'))); - - $result = $query->execute(); - $entriesUpdated = 0; - while ($row = $result->fetch()) { - $update->setParameter('storage', $row['storage'], IQueryBuilder::PARAM_INT) - ->setParameter('mount', $row['id'], IQueryBuilder::PARAM_INT); - $update->execute(); - $entriesUpdated++; - } - $result->closeCursor(); - - if ($entriesUpdated > 0) { - $output->info($entriesUpdated . ' mounts updated'); - return; - } - - $output->info('No mounts updated'); - } -} diff --git a/tests/lib/Repair/NC11/FixMountStoragesTest.php b/tests/lib/Repair/NC11/FixMountStoragesTest.php deleted file mode 100644 index 6fdcc07d24e..00000000000 --- a/tests/lib/Repair/NC11/FixMountStoragesTest.php +++ /dev/null @@ -1,114 +0,0 @@ -<?php -/** - * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -namespace Test\Repair\NC11; - -use OC\Repair\NC11\FixMountStorages; -use OCP\DB\QueryBuilder\IQueryBuilder; -use OCP\IDBConnection; -use OCP\Migration\IOutput; -use Test\TestCase; - -/** - * Class FixMountStoragesTest - * - * @package Test\Repair\NC11 - * @group DB - */ -class FixMountStoragesTest extends TestCase { - /** @var IDBConnection */ - private $db; - - /** @var FixMountStorages */ - private $repair; - - protected function setUp(): void { - parent::setUp(); - - $this->db = \OC::$server->getDatabaseConnection(); - - $this->repair = new FixMountStorages( - $this->db - ); - } - - public function testGetName() { - $this->assertSame('Fix potential broken mount points', $this->repair->getName()); - } - - public function testRun() { - // Valid mount - $file1 = $this->createFile(42); - $mount1 = $this->createMount($file1, 42); - $this->assertStorage($mount1, 42); - - // Broken mount - $file2 = $this->createFile(23); - $mount2 = $this->createMount($file2, 1337); - $this->assertStorage($mount2, 1337); - - /** @var IOutput|\PHPUnit\Framework\MockObject\MockObject $output */ - $output = $this->createMock(IOutput::class); - $output->expects($this->exactly(2)) - ->method('info') - ->withConsecutive( - ['1 mounts updated'], - ['No mounts updated'] - ); - - $this->repair->run($output); - $this->assertStorage($mount1, 42); - $this->assertStorage($mount2, 23); - - $this->repair->run($output); - $this->assertStorage($mount1, 42); - $this->assertStorage($mount2, 23); - } - - - protected function createFile($storage) { - $query = $this->db->getQueryBuilder(); - - $query->insert('filecache') - ->values([ - 'storage' => $query->createNamedParameter($storage, IQueryBuilder::PARAM_INT), - 'path_hash' => $query->createNamedParameter(static::getUniqueID(), IQueryBuilder::PARAM_STR), - 'encrypted' => $query->createNamedParameter(0, IQueryBuilder::PARAM_INT), - 'size' => $query->createNamedParameter(0, IQueryBuilder::PARAM_INT), - 'unencrypted_size' => $query->createNamedParameter(0, IQueryBuilder::PARAM_INT), - ]); - $query->execute(); - - return $query->getLastInsertId(); - } - - protected function createMount($fileId, $storage) { - $query = $this->db->getQueryBuilder(); - - $query->insert('mounts') - ->values([ - 'storage_id' => $query->createNamedParameter($storage, IQueryBuilder::PARAM_INT), - 'root_id' => $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT), - 'user_id' => $query->createNamedParameter(static::getUniqueID(), IQueryBuilder::PARAM_STR), - 'mount_point' => $query->createNamedParameter(static::getUniqueID(), IQueryBuilder::PARAM_STR), - ]); - $query->execute(); - - return $query->getLastInsertId(); - } - - protected function assertStorage($mount, $storage) { - $query = $this->db->getQueryBuilder(); - $query->select('storage_id') - ->from('mounts') - ->where($query->expr()->eq('id', $query->createNamedParameter($mount, IQueryBuilder::PARAM_INT))); - $result = $query->execute(); - $row = $result->fetch(); - $result->closeCursor(); - - $this->assertEquals($storage, $row['storage_id']); - } -} |