From 8c56f9312495d53201bf00a4fcd80e2b73995101 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Sun, 24 Sep 2017 15:24:08 +0200 Subject: [PATCH] Don't add a LIKE condition when it's not needed Signed-off-by: Thomas Citharel --- apps/dav/lib/CardDAV/CardDavBackend.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/dav/lib/CardDAV/CardDavBackend.php b/apps/dav/lib/CardDAV/CardDavBackend.php index 5742f97b701c5..f556d32183342 100644 --- a/apps/dav/lib/CardDAV/CardDavBackend.php +++ b/apps/dav/lib/CardDAV/CardDavBackend.php @@ -887,7 +887,11 @@ public function search($addressBookId, $pattern, $searchProperties) { $or->add($query2->expr()->eq('cp.name', $query->createNamedParameter($property))); } $query2->andWhere($or); - $query2->andWhere($query2->expr()->ilike('cp.value', $query->createNamedParameter('%' . $this->db->escapeLikeParameter($pattern) . '%'))); + + // No need for like when the pattern is empty + if ('' !== $pattern) { + $query2->andWhere($query2->expr()->ilike('cp.value', $query->createNamedParameter('%' . $this->db->escapeLikeParameter($pattern) . '%'))); + } $query->select('c.carddata', 'c.uri')->from($this->dbCardsTable, 'c') ->where($query->expr()->in('c.id', $query->createFunction($query2->getSQL())));