|
@@ -6,6 +6,7 @@
|
|
|
* @author Christoph Wurst <christoph@winzerhof-wurst.at>
|
|
|
* @author Joas Schilling <coding@schilljs.com>
|
|
|
* @author Julius Härtl <jus@bitgrid.net>
|
|
|
+ * @author Richard Steinmetz <richard@steinmetz.cloud>
|
|
|
*
|
|
|
* @license GNU AGPL version 3 or any later version
|
|
|
*
|
|
@@ -131,8 +132,13 @@ class FileSystemTags implements ICheck, IFileCheck {
|
|
|
* @return int[]
|
|
|
*/
|
|
|
protected function getFileIds(ICache $cache, $path, $isExternalStorage) {
|
|
|
+ // TODO: Fix caching inside group folders
|
|
|
+ // Do not cache file ids inside group folders because multiple file ids might be mapped to
|
|
|
+ // the same combination of cache id + path.
|
|
|
+ $shouldCacheFileIds = !$this->storage
|
|
|
+ ->instanceOfStorage(\OCA\GroupFolders\Mount\GroupFolderStorage::class);
|
|
|
$cacheId = $cache->getNumericStorageId();
|
|
|
- if (isset($this->fileIds[$cacheId][$path])) {
|
|
|
+ if ($shouldCacheFileIds && isset($this->fileIds[$cacheId][$path])) {
|
|
|
return $this->fileIds[$cacheId][$path];
|
|
|
}
|
|
|
|
|
@@ -148,7 +154,9 @@ class FileSystemTags implements ICheck, IFileCheck {
|
|
|
$parentIds[] = $cache->getId($path);
|
|
|
}
|
|
|
|
|
|
- $this->fileIds[$cacheId][$path] = $parentIds;
|
|
|
+ if ($shouldCacheFileIds) {
|
|
|
+ $this->fileIds[$cacheId][$path] = $parentIds;
|
|
|
+ }
|
|
|
|
|
|
return $parentIds;
|
|
|
}
|