diff options
author | Maxence Lange <maxence@artificial-owl.com> | 2023-11-07 12:43:01 -0100 |
---|---|---|
committer | Maxence Lange <maxence@artificial-owl.com> | 2023-11-07 12:43:08 -0100 |
commit | f497d8b6e5a42635ec181dfeda404862ee4c8e3d (patch) | |
tree | e6cd926b6f7ab4d9762f0312ad8962c78aaf1309 /lib/private/Files/Search | |
parent | e62e9e3dbf1a2573554b1a9eabbf5b59b652dae6 (diff) | |
download | nextcloud-server-f497d8b6e5a42635ec181dfeda404862ee4c8e3d.tar.gz nextcloud-server-f497d8b6e5a42635ec181dfeda404862ee4c8e3d.zip |
IFilesMetadata
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Diffstat (limited to 'lib/private/Files/Search')
-rw-r--r-- | lib/private/Files/Search/QueryOptimizer/PathPrefixOptimizer.php | 4 | ||||
-rw-r--r-- | lib/private/Files/Search/SearchComparison.php | 16 | ||||
-rw-r--r-- | lib/private/Files/Search/SearchOrder.php | 8 |
3 files changed, 15 insertions, 13 deletions
diff --git a/lib/private/Files/Search/QueryOptimizer/PathPrefixOptimizer.php b/lib/private/Files/Search/QueryOptimizer/PathPrefixOptimizer.php index cf9e6ad5b91..664402f1238 100644 --- a/lib/private/Files/Search/QueryOptimizer/PathPrefixOptimizer.php +++ b/lib/private/Files/Search/QueryOptimizer/PathPrefixOptimizer.php @@ -51,7 +51,7 @@ class PathPrefixOptimizer extends QueryOptimizerStep { } public function processOperator(ISearchOperator &$operator) { - if (!$this->useHashEq && $operator instanceof ISearchComparison && !$operator->isExtra() && $operator->getField() === 'path' && $operator->getType() === ISearchComparison::COMPARE_EQUAL) { + if (!$this->useHashEq && $operator instanceof ISearchComparison && !$operator->getExtra() && $operator->getField() === 'path' && $operator->getType() === ISearchComparison::COMPARE_EQUAL) { $operator->setQueryHint(ISearchComparison::HINT_PATH_EQ_HASH, false); } @@ -72,7 +72,7 @@ class PathPrefixOptimizer extends QueryOptimizerStep { private function operatorPairIsPathPrefix(ISearchOperator $like, ISearchOperator $equal): bool { return ( $like instanceof ISearchComparison && $equal instanceof ISearchComparison && - !$like->isExtra() && !$equal->isExtra() && $like->getField() === 'path' && $equal->getField() === 'path' && + !$like->getExtra() && !$equal->getExtra() && $like->getField() === 'path' && $equal->getField() === 'path' && $like->getType() === ISearchComparison::COMPARE_LIKE_CASE_SENSITIVE && $equal->getType() === ISearchComparison::COMPARE_EQUAL && $like->getValue() === SearchComparison::escapeLikeParameter($equal->getValue()) . '/%' ); diff --git a/lib/private/Files/Search/SearchComparison.php b/lib/private/Files/Search/SearchComparison.php index 5caa632f618..4f9ac266397 100644 --- a/lib/private/Files/Search/SearchComparison.php +++ b/lib/private/Files/Search/SearchComparison.php @@ -1,4 +1,6 @@ <?php + +declare(strict_types=1); /** * @copyright Copyright (c) 2017 Robin Appelman <robin@icewind.nl> * @@ -39,32 +41,32 @@ class SearchComparison implements ISearchComparison { /** * @return string */ - public function getType() { + public function getType(): string { return $this->type; } /** * @return string */ - public function getField() { + public function getField(): string { return $this->field; } /** * @return \DateTime|int|string */ - public function getValue() { + public function getValue(): string|int|\DateTime { return $this->value; } + /** + * @return string + * @since 28.0.0 + */ public function getExtra(): string { return $this->extra; } - public function isExtra(): bool { - return ($this->extra !== ''); - } - public function getQueryHint(string $name, $default) { return $this->hints[$name] ?? $default; } diff --git a/lib/private/Files/Search/SearchOrder.php b/lib/private/Files/Search/SearchOrder.php index ca974ca9c03..de514262bf5 100644 --- a/lib/private/Files/Search/SearchOrder.php +++ b/lib/private/Files/Search/SearchOrder.php @@ -48,14 +48,14 @@ class SearchOrder implements ISearchOrder { return $this->field; } + /** + * @return string + * @since 28.0.0 + */ public function getExtra(): string { return $this->extra; } - public function isExtra(): bool { - return ($this->extra !== ''); - } - public function sortFileInfo(FileInfo $a, FileInfo $b): int { $cmp = $this->sortFileInfoNoDirection($a, $b); return $cmp * ($this->direction === ISearchOrder::DIRECTION_ASCENDING ? 1 : -1); |