skip intermediate join table for counts report query

Change-Id: I60350b953815a53d287797c12ed2fe2886132e88
Reviewed-on: https://gerrit.instructure.com/30295
Reviewed-by: Rob Orton <rob@instructure.com>
Reviewed-by: Hubert depesz Lubaczewski <hlubaczewski@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>
QA-Review: Cody Cutrer <cody@instructure.com>
This commit is contained in:
Cody Cutrer 2014-02-19 09:24:09 -07:00
parent 7d0bf5e2a7
commit db181537dc
1 changed files with 2 additions and 1 deletions

View File

@ -67,7 +67,8 @@ class CountsReport
else
timespan = Setting.get('recently_logged_in_timespan', 30.days.to_s).to_i.seconds
enrollment_scope = Enrollment.active.not_fake.
joins(:user => :active_pseudonyms).
joins("INNER JOIN pseudonyms ON enrollments.user_id=pseudonyms.user_id").
where(pseudonyms: { workflow_state: 'active'}).
where("course_id IN (?) AND pseudonyms.last_request_at>?", course_ids, timespan.ago)
data[:teachers] = enrollment_scope.where(:type => 'TeacherEnrollment').count(:user_id, :distinct => true)