From cd5ebcee05abf71e3e42da0abbb09a051385e60a Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Mon, 20 Jan 2020 11:42:44 +0100 Subject: [PATCH] Fix SQLite CONCAT used for search (#2777) Used e.g. for searches `inurl:xxx` Co-authored-by: Marien Fressinaud --- app/Models/EntryDAO.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/Models/EntryDAO.php b/app/Models/EntryDAO.php index d149cfd8b..d2e7664fc 100644 --- a/app/Models/EntryDAO.php +++ b/app/Models/EntryDAO.php @@ -742,7 +742,7 @@ SQL; } if ($filter->getInurl()) { foreach ($filter->getInurl() as $url) { - $sub_search .= 'AND CONCAT(' . $alias . 'link, ' . $alias . 'guid) LIKE ? '; + $sub_search .= 'AND ' . $this->sqlConcat($alias . 'link', $alias . 'guid') . ' LIKE ? '; $values[] = "%{$url}%"; } } @@ -767,20 +767,20 @@ SQL; } if ($filter->getNotInurl()) { foreach ($filter->getNotInurl() as $url) { - $sub_search .= 'AND (NOT CONCAT(' . $alias . 'link, ' . $alias . 'guid) LIKE ?) '; + $sub_search .= 'AND (NOT ' . $this->sqlConcat($alias . 'link', $alias . 'guid') . ' LIKE ?) '; $values[] = "%{$url}%"; } } if ($filter->getSearch()) { foreach ($filter->getSearch() as $search_value) { - $sub_search .= 'AND ' . $this->sqlconcat($alias . 'title', $this->isCompressed() ? 'UNCOMPRESS(' . $alias . 'content_bin)' : '' . $alias . 'content') . ' LIKE ? '; + $sub_search .= 'AND ' . $this->sqlConcat($alias . 'title', $this->isCompressed() ? 'UNCOMPRESS(' . $alias . 'content_bin)' : '' . $alias . 'content') . ' LIKE ? '; $values[] = "%{$search_value}%"; } } if ($filter->getNotSearch()) { foreach ($filter->getNotSearch() as $search_value) { - $sub_search .= 'AND (NOT ' . $this->sqlconcat($alias . 'title', $this->isCompressed() ? 'UNCOMPRESS(' . $alias . 'content_bin)' : '' . $alias . 'content') . ' LIKE ?) '; + $sub_search .= 'AND (NOT ' . $this->sqlConcat($alias . 'title', $this->isCompressed() ? 'UNCOMPRESS(' . $alias . 'content_bin)' : '' . $alias . 'content') . ' LIKE ?) '; $values[] = "%{$search_value}%"; } }