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 0000000000000000000000000000000000000000..8ae43659d8d09e25aa58b459dd229a28c8ac04b1 --- /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 4f86b3e8f73b5ef63261c118fb28f0093d9cf3a1..45562237157289af56fc7b7a0ab9444c87868dae 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