From f99744d00de10094d6e483776313c52d86437a9d Mon Sep 17 00:00:00 2001 From: Douglas Barbosa Alexandre Date: Tue, 18 Oct 2016 04:00:33 -0200 Subject: Use join instead of subquery on Label.unprioritized scope --- app/models/label.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/models/label.rb b/app/models/label.rb index ae07e8f60e1..149fd98ecb3 100644 --- a/app/models/label.rb +++ b/app/models/label.rb @@ -39,7 +39,14 @@ class Label < ActiveRecord::Base end def self.unprioritized(project) - where.not(id: prioritized(project).select(:id)) + labels = Label.arel_table + priorities = LabelPriority.arel_table + + label_priorities = labels.join(priorities, Arel::Nodes::OuterJoin). + on(labels[:id].eq(priorities[:label_id]).and(priorities[:project_id].eq(project.id))). + join_sources + + joins(label_priorities).where(priorities[:priority].eq(nil)) end def self.left_join_priorities -- cgit v1.2.1