summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@owncloud.com>2016-03-21 14:13:38 +0100
committerRoeland Jago Douma <rullzer@owncloud.com>2016-03-22 11:13:11 +0100
commitdcca20a48a18cf9349084851ab4bbc05046808b3 (patch)
tree434cb7c507458b41168c5c00c12e522fd22be144
parent9fc371e436e8f99c862e587efe1b682cb0923e83 (diff)
downloadnextcloud-server-dcca20a48a18cf9349084851ab4bbc05046808b3.tar.gz
nextcloud-server-dcca20a48a18cf9349084851ab4bbc05046808b3.zip
Save the query when we get tags for no objects
-rw-r--r--lib/private/systemtag/systemtagobjectmapper.php2
-rw-r--r--tests/lib/systemtag/systemtagobjectmappertest.php11
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/private/systemtag/systemtagobjectmapper.php b/lib/private/systemtag/systemtagobjectmapper.php
index 586351cf8c1..412842b69e3 100644
--- a/lib/private/systemtag/systemtagobjectmapper.php
+++ b/lib/private/systemtag/systemtagobjectmapper.php
@@ -64,6 +64,8 @@ class SystemTagObjectMapper implements ISystemTagObjectMapper {
public function getTagIdsForObjects($objIds, $objectType) {
if (!is_array($objIds)) {
$objIds = [$objIds];
+ } else if (empty($objIds)) {
+ return [];
}
$query = $this->connection->getQueryBuilder();
diff --git a/tests/lib/systemtag/systemtagobjectmappertest.php b/tests/lib/systemtag/systemtagobjectmappertest.php
index 861eb240674..69cf7e8f816 100644
--- a/tests/lib/systemtag/systemtagobjectmappertest.php
+++ b/tests/lib/systemtag/systemtagobjectmappertest.php
@@ -119,7 +119,7 @@ class SystemTagObjectMapperTest extends TestCase {
$query->delete(SystemTagManager::TAG_TABLE)->execute();
}
- public function testGetTagsForObjects() {
+ public function testGetTagIdsForObjects() {
$tagIdMapping = $this->tagMapper->getTagIdsForObjects(
['1', '2', '3', '4'],
'testtype'
@@ -133,6 +133,15 @@ class SystemTagObjectMapperTest extends TestCase {
], $tagIdMapping);
}
+ public function testGetTagIdsForNoObjects() {
+ $tagIdMapping = $this->tagMapper->getTagIdsForObjects(
+ [],
+ 'testtype'
+ );
+
+ $this->assertEquals([], $tagIdMapping);
+ }
+
public function testGetObjectsForTags() {
$objectIds = $this->tagMapper->getObjectIdsForTags(
[$this->tag1->getId(), $this->tag2->getId(), $this->tag3->getId()],