diff options
author | Chantal Rollison <crollison@gitlab.com> | 2018-07-10 07:35:50 -0700 |
---|---|---|
committer | Chantal Rollison <crollison@gitlab.com> | 2018-07-11 08:14:14 -0700 |
commit | b7f2a64509b930f1bee57e271440ca4ac74fa579 (patch) | |
tree | 88e2ea34aed243e282545bcfd7c8962d4c1f7005 | |
parent | 0abda34c4ceb904140959ffeac55d686b0b0db2d (diff) | |
download | gitlab-ce-ccr/slow_snippet_search.tar.gz |
Add count limit to snippet searchccr/slow_snippet_search
-rw-r--r-- | changelogs/unreleased/cr-add-count-limit-to-snippet-search.yml | 5 | ||||
-rw-r--r-- | lib/gitlab/snippet_search_results.rb | 27 |
2 files changed, 21 insertions, 11 deletions
diff --git a/changelogs/unreleased/cr-add-count-limit-to-snippet-search.yml b/changelogs/unreleased/cr-add-count-limit-to-snippet-search.yml new file mode 100644 index 00000000000..8ae43659d8d --- /dev/null +++ b/changelogs/unreleased/cr-add-count-limit-to-snippet-search.yml @@ -0,0 +1,5 @@ +--- +title: Adds a count limit to the number of snippet search results. +merge_request: 20531 +author: +type: fixed diff --git a/lib/gitlab/snippet_search_results.rb b/lib/gitlab/snippet_search_results.rb index 4f86b3e8f73..45562237157 100644 --- a/lib/gitlab/snippet_search_results.rb +++ b/lib/gitlab/snippet_search_results.rb @@ -9,23 +9,28 @@ module Gitlab @query = query end - def objects(scope, page = nil) - case scope - when 'snippet_titles' - snippet_titles.page(page).per(per_page) - when 'snippet_blobs' - snippet_blobs.page(page).per(per_page) - else - super(scope, nil, false) - end + def objects(scope, page = nil, without_count = true) + collection = case scope + when 'snippet_titles' + snippet_titles.page(page).per(per_page) + when 'snippet_blobs' + snippet_blobs.page(page).per(per_page) + else + super(scope, nil, false) + end + without_count ? collection.without_count : collection end def snippet_titles_count - @snippet_titles_count ||= snippet_titles.count + @snippet_titles_count ||= snippet_titles.limit(count_limit).count end def snippet_blobs_count - @snippet_blobs_count ||= snippet_blobs.count + @snippet_blobs_count ||= snippet_blobs.limit(count_limit).count + end + + def count_limit + 1001 end private |