Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/finders/user_recent_events_finder.rb')
-rw-r--r--app/finders/user_recent_events_finder.rb16
1 files changed, 13 insertions, 3 deletions
diff --git a/app/finders/user_recent_events_finder.rb b/app/finders/user_recent_events_finder.rb
index 96120d9412f..64903c67573 100644
--- a/app/finders/user_recent_events_finder.rb
+++ b/app/finders/user_recent_events_finder.rb
@@ -73,10 +73,20 @@ class UserRecentEventsFinder
return Event.none if users.empty?
- if event_filter.filter == EventFilter::ALL
- execute_optimized_multi(users)
+ if Feature.enabled?(:optimized_followed_users_queries, current_user)
+ query_builder_params = event_filter.in_operator_query_builder_params(users)
+
+ Gitlab::Pagination::Keyset::InOperatorOptimization::QueryBuilder
+ .new(**query_builder_params)
+ .execute
+ .limit(limit)
+ .offset(params[:offset] || 0)
else
- event_filter.apply_filter(Event.where(author: users).limit_recent(limit, params[:offset] || 0))
+ if event_filter.filter == EventFilter::ALL
+ execute_optimized_multi(users)
+ else
+ event_filter.apply_filter(Event.where(author: users).limit_recent(limit, params[:offset] || 0))
+ end
end
end
# rubocop: enable CodeReuse/ActiveRecord