summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2025-04-09 07:01:57 +0000
committerGo MAEDA <maeda@farend.jp>2025-04-09 07:01:57 +0000
commit16cf2185173b7935ba6ca243eed4916a02b8e4e1 (patch)
tree3e187a95e839e0d78bdb426dcdbdfe838dbb1bc8
parent397259fe5378cfe540b985be8d675d78b82f03c1 (diff)
downloadredmine-16cf2185173b7935ba6ca243eed4916a02b8e4e1.tar.gz
redmine-16cf2185173b7935ba6ca243eed4916a02b8e4e1.zip
Merged r23609 from trunk to 5.1-stable (#40728).
git-svn-id: https://svn.redmine.org/redmine/branches/5.1-stable@23615 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/time_entry_query.rb19
1 files changed, 13 insertions, 6 deletions
diff --git a/app/models/time_entry_query.rb b/app/models/time_entry_query.rb
index 3d828d2bd..9c18f73d3 100644
--- a/app/models/time_entry_query.rb
+++ b/app/models/time_entry_query.rb
@@ -152,12 +152,19 @@ class TimeEntryQuery < Query
end
def base_scope
- TimeEntry.visible.
- joins(:project, :user).
- includes(:activity).
- references(:activity).
- left_join_issue.
- where(statement)
+ scope = TimeEntry.visible
+ .joins(:project, :user)
+ .includes(:activity)
+ .references(:activity)
+ .left_join_issue
+ .where(statement)
+
+ if Redmine::Database.mysql? && ActiveRecord::Base.connection.supports_optimizer_hints?
+ # Provides MySQL with a hint to use a better join order and avoid slow response times
+ scope.optimizer_hints('JOIN_ORDER(time_entries, projects, users)')
+ else
+ scope
+ end
end
def results_scope(options={})