aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/files/lib/Command/DeleteOrphanedFiles.php14
-rw-r--r--lib/private/DB/QueryBuilder/QueryBuilder.php10
-rw-r--r--tests/lib/Repair/CleanTagsTest.php4
3 files changed, 16 insertions, 12 deletions
diff --git a/apps/files/lib/Command/DeleteOrphanedFiles.php b/apps/files/lib/Command/DeleteOrphanedFiles.php
index 8f93242b255..047e26f11ec 100644
--- a/apps/files/lib/Command/DeleteOrphanedFiles.php
+++ b/apps/files/lib/Command/DeleteOrphanedFiles.php
@@ -48,16 +48,10 @@ class DeleteOrphanedFiles extends Command {
$deleteQuery->delete('filecache')
->where($deleteQuery->expr()->in('storage', $deleteQuery->createParameter('storage_ids')));
- $deletedInLastChunk = self::CHUNK_SIZE;
- while ($deletedInLastChunk === self::CHUNK_SIZE) {
- $deletedInLastChunk = 0;
- $result = $query->execute();
- while ($row = $result->fetch()) {
- $deletedInLastChunk++;
- $deletedEntries += $deleteQuery->setParameter('objectid', (int) $row['fileid'])
- ->execute();
- }
- $result->closeCursor();
+ $deletedStorageChunks = array_chunk($deletedStorages, self::CHUNK_SIZE);
+ foreach ($deletedStorageChunks as $deletedStorageChunk) {
+ $deleteQuery->setParameter('storage_ids', $deletedStorageChunk, IQueryBuilder::PARAM_INT_ARRAY);
+ $deletedEntries += $deleteQuery->executeStatement();
}
$output->writeln("$deletedEntries orphaned file cache entries deleted");
diff --git a/lib/private/DB/QueryBuilder/QueryBuilder.php b/lib/private/DB/QueryBuilder/QueryBuilder.php
index 912d48cd34e..ec2581d7e9a 100644
--- a/lib/private/DB/QueryBuilder/QueryBuilder.php
+++ b/lib/private/DB/QueryBuilder/QueryBuilder.php
@@ -1365,4 +1365,14 @@ class QueryBuilder implements IQueryBuilder {
return $this->helper->quoteColumnName($alias);
}
+
+ public function hintShardKey(string $column, mixed $value, bool $overwrite = false) {
+ return $this;
+ }
+
+ public function runAcrossAllShards() {
+ // noop
+ return $this;
+ }
+
}
diff --git a/tests/lib/Repair/CleanTagsTest.php b/tests/lib/Repair/CleanTagsTest.php
index 80c0b2c9770..11430cc1215 100644
--- a/tests/lib/Repair/CleanTagsTest.php
+++ b/tests/lib/Repair/CleanTagsTest.php
@@ -142,7 +142,7 @@ class CleanTagsTest extends \Test\TestCase {
])
->execute();
- return (int) $this->getLastInsertID('vcategory', 'id');
+ return $qb->getLastInsertId();
}
/**
@@ -191,7 +191,7 @@ class CleanTagsTest extends \Test\TestCase {
])
->execute();
- $this->createdFile = (int) $this->getLastInsertID('filecache', 'fileid');
+ $this->createdFile = $qb->getLastInsertId();
return $this->createdFile;
}
}