aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Files/Search
diff options
context:
space:
mode:
authorMaxence Lange <maxence@artificial-owl.com>2023-11-07 12:43:01 -0100
committerMaxence Lange <maxence@artificial-owl.com>2023-11-07 12:43:08 -0100
commitf497d8b6e5a42635ec181dfeda404862ee4c8e3d (patch)
treee6cd926b6f7ab4d9762f0312ad8962c78aaf1309 /lib/private/Files/Search
parente62e9e3dbf1a2573554b1a9eabbf5b59b652dae6 (diff)
downloadnextcloud-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.php4
-rw-r--r--lib/private/Files/Search/SearchComparison.php16
-rw-r--r--lib/private/Files/Search/SearchOrder.php8
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);